Desarrollo de MVP para datos de Sernageomin con satelite Sentinel-2¶

Análisis Inicial¶

  1. Preparar el entorno
  • Instalar las líbrerias necesarias en el entorno del notebook
In [1]:
%pip install sentinelhub numpy matplotlib geopandas rasterio shapely
Requirement already satisfied: sentinelhub in c:\users\rodag\anaconda3\lib\site-packages (3.11.1)
Requirement already satisfied: numpy in c:\users\rodag\anaconda3\lib\site-packages (1.26.4)
Requirement already satisfied: matplotlib in c:\users\rodag\anaconda3\lib\site-packages (3.8.4)
Requirement already satisfied: geopandas in c:\users\rodag\anaconda3\lib\site-packages (1.0.1)
Requirement already satisfied: rasterio in c:\users\rodag\anaconda3\lib\site-packages (1.4.3)
Requirement already satisfied: shapely in c:\users\rodag\anaconda3\lib\site-packages (2.0.6)
Requirement already satisfied: aenum>=2.1.4 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (3.1.15)
Requirement already satisfied: click in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (8.1.7)
Requirement already satisfied: dataclasses-json in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (0.6.7)
Requirement already satisfied: oauthlib in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (3.2.2)
Requirement already satisfied: pillow>=9.2.0 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (10.3.0)
Requirement already satisfied: pyproj>=2.2.0 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (3.7.0)
Requirement already satisfied: python-dateutil in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (2.9.0.post0)
Requirement already satisfied: requests-oauthlib>=1.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (2.0.0)
Requirement already satisfied: requests>=2.27.0 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (2.32.2)
Requirement already satisfied: tifffile>=2020.9.30 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (2023.4.12)
Requirement already satisfied: tomli in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (2.0.1)
Requirement already satisfied: tomli-w in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (1.1.0)
Requirement already satisfied: tqdm in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (4.66.4)
Requirement already satisfied: typing-extensions>=4.5.0 in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (4.11.0)
Requirement already satisfied: utm in c:\users\rodag\anaconda3\lib\site-packages (from sentinelhub) (0.7.0)
Requirement already satisfied: contourpy>=1.0.1 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib) (1.2.0)
Requirement already satisfied: cycler>=0.10 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib) (1.4.4)
Requirement already satisfied: packaging>=20.0 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib) (23.2)
Requirement already satisfied: pyparsing>=2.3.1 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib) (3.0.9)
Requirement already satisfied: pyogrio>=0.7.2 in c:\users\rodag\anaconda3\lib\site-packages (from geopandas) (0.10.0)
Requirement already satisfied: pandas>=1.4.0 in c:\users\rodag\anaconda3\lib\site-packages (from geopandas) (2.2.2)
Requirement already satisfied: affine in c:\users\rodag\anaconda3\lib\site-packages (from rasterio) (2.4.0)
Requirement already satisfied: attrs in c:\users\rodag\anaconda3\lib\site-packages (from rasterio) (23.1.0)
Requirement already satisfied: certifi in c:\users\rodag\anaconda3\lib\site-packages (from rasterio) (2024.8.30)
Requirement already satisfied: cligj>=0.5 in c:\users\rodag\anaconda3\lib\site-packages (from rasterio) (0.7.2)
Requirement already satisfied: click-plugins in c:\users\rodag\anaconda3\lib\site-packages (from rasterio) (1.1.1)
Requirement already satisfied: colorama in c:\users\rodag\appdata\roaming\python\python312\site-packages (from click->sentinelhub) (0.4.6)
Requirement already satisfied: pytz>=2020.1 in c:\users\rodag\anaconda3\lib\site-packages (from pandas>=1.4.0->geopandas) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in c:\users\rodag\anaconda3\lib\site-packages (from pandas>=1.4.0->geopandas) (2023.3)
Requirement already satisfied: six>=1.5 in c:\users\rodag\anaconda3\lib\site-packages (from python-dateutil->sentinelhub) (1.16.0)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\rodag\anaconda3\lib\site-packages (from requests>=2.27.0->sentinelhub) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\rodag\anaconda3\lib\site-packages (from requests>=2.27.0->sentinelhub) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\rodag\anaconda3\lib\site-packages (from requests>=2.27.0->sentinelhub) (2.2.2)
Requirement already satisfied: marshmallow<4.0.0,>=3.18.0 in c:\users\rodag\anaconda3\lib\site-packages (from dataclasses-json->sentinelhub) (3.23.1)
Requirement already satisfied: typing-inspect<1,>=0.4.0 in c:\users\rodag\anaconda3\lib\site-packages (from dataclasses-json->sentinelhub) (0.9.0)
Requirement already satisfied: mypy-extensions>=0.3.0 in c:\users\rodag\anaconda3\lib\site-packages (from typing-inspect<1,>=0.4.0->dataclasses-json->sentinelhub) (1.0.0)
Note: you may need to restart the kernel to use updated packages.
In [2]:
import numpy as np
import matplotlib.pyplot as plt
import geopandas as gpd
from sentinelhub import (
    SentinelHubRequest, DataCollection, MimeType, CRS, BBox, bbox_to_dimensions
)
from shapely.geometry import Point
import rasterio
from rasterio.plot import show
In [3]:
%pip install openpyxl
Requirement already satisfied: openpyxl in c:\users\rodag\anaconda3\lib\site-packages (3.1.2)
Requirement already satisfied: et-xmlfile in c:\users\rodag\anaconda3\lib\site-packages (from openpyxl) (1.1.0)
Note: you may need to restart the kernel to use updated packages.
In [4]:
import pandas as pd
In [5]:
# Cargar el archivo Excel
file_path = r"C:\Users\rodag\OneDrive\Documentos\Magister\Tesina\MVP\Datos\catastro.xlsx"
catastro_df = pd.read_excel(file_path)

# Mostrar las primeras filas del DataFrame
print(catastro_df.head())
   OBJECTID Código de la remoción en masa         Región  \
0         1                RM-1965-01-001     Valparaíso   
1         2                RM-1965-01-002     Valparaíso   
2         3                RM-1967-01-001    Antofagasta   
3         4                RM-1979-01-001      Araucanía   
4         5                RM-1985-01-001  Metropolitana   

  Tipo de remoción en masa Tipo de material  \
0            Deslizamiento  Suelo/Sedimento   
1                    Caída  Suelo/Sedimento   
2            Deslizamiento  Sin información   
3            Deslizamiento  Suelo/Sedimento   
4                    Flujo  Suelo/Sedimento   

    Clasificación de remoción en masa       Detonante Día del evento  \
0         Deslizamiento indeterminado  Evento Sísmico             28   
1  Caída de bloque/detrito/arena/limo  Evento Sísmico             28   
2         Deslizamiento indeterminado  Evento Sísmico             28   
3         Deslizamiento indeterminado         Lluvias                  
4                      Flujo de barro         Lluvias             22   

  Mes de inicio del evento  Año del evento Estación de ocurrencia del evento  \
0                    Marzo            1965        Otoño (del 21-03 al 20-06)   
1                    Marzo            1965        Otoño (del 21-03 al 20-06)   
2                Diciembre            1966       Verano (del 21-12 al 20-03)   
3          Sin información               0                   Sin información   
4                  Febrero            1980       Verano (del 21-12 al 20-03)   

  Método de obtención de la información  \
0                                         
1                  Observado en terreno   
2                                         
3                                         
4                                         

                            Fuente de la información  \
0  1965. Efectos del terremoto de marzo de 1965 e...   
1  1965. Efectos del terremoto de marzo de 1965 e...   
2  1967. Notas preliminares sobre el sismo de Tal...   
3  1979. La geología en el deslizamiento de Puent...   
4  1985. Flujos de barro en la zona preandina de ...   

                   Autor de la fuente Nota  \
0  Aliste, N.; Moraga, A. y Pérez, S.        
1  Aliste, N.; Moraga, A. y Pérez, S.        
2                          Thomas, A.        
3                         Emparán, C.        
4                          Hauser, A.        

                        Enlace de documento asociado    Latitud   Longitud  \
0  http://portalgeo.sernageomin.cl/Informes_PDF_N... -32.643149 -71.177153   
1  http://portalgeo.sernageomin.cl/Informes_PDF_N... -32.444270 -71.104980   
2  http://portalgeo.sernageomin.cl/Informes_PDF_N... -25.268903 -70.437757   
3  http://portalgeo.sernageomin.cl/Informes_PDF_N... -37.963902 -72.437390   
4  http://portalgeo.sernageomin.cl/Informes_PDF_N... -33.370502 -70.463052   

                            Precisión de coordenadas  
0                                Coordenadas exactas  
1                  Coordenadas aproximadas al sector  
2  Coordenadas inexactas ubicadas en la ciudad o ...  
3                                Coordenadas exactas  
4                                Coordenadas exactas  
In [6]:
catastro_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2880 entries, 0 to 2879
Data columns (total 19 columns):
 #   Column                                 Non-Null Count  Dtype  
---  ------                                 --------------  -----  
 0   OBJECTID                               2880 non-null   int64  
 1   Código de la remoción en masa          2880 non-null   object 
 2   Región                                 2880 non-null   object 
 3   Tipo de remoción en masa               2880 non-null   object 
 4   Tipo de material                       2880 non-null   object 
 5   Clasificación de remoción en masa      2880 non-null   object 
 6   Detonante                              2880 non-null   object 
 7   Día del evento                         2880 non-null   object 
 8   Mes de inicio del evento               2880 non-null   object 
 9   Año del evento                         2880 non-null   int64  
 10  Estación de ocurrencia del evento      2880 non-null   object 
 11  Método de obtención de la información  2880 non-null   object 
 12  Fuente de la información               2880 non-null   object 
 13  Autor de la fuente                     2877 non-null   object 
 14  Nota                                   2880 non-null   object 
 15  Enlace de documento asociado           2880 non-null   object 
 16  Latitud                                2880 non-null   float64
 17  Longitud                               2880 non-null   float64
 18  Precisión de coordenadas               2880 non-null   object 
dtypes: float64(2), int64(2), object(15)
memory usage: 427.6+ KB
In [7]:
print(catastro_df.describe())
          OBJECTID  Año del evento      Latitud     Longitud
count  2880.000000     2880.000000  2880.000000  2880.000000
mean   1440.500000     1246.012847   -35.190177   -71.000761
std     831.528713      976.909497     9.147794     0.981890
min       1.000000        0.000000   -54.857698   -80.798268
25%     720.750000        0.000000   -37.899143   -71.082328
50%    1440.500000     2010.000000   -33.787396   -70.843777
75%    2160.250000     2017.000000   -29.829353   -70.342140
max    2880.000000     2021.000000   -17.724732   -68.507165
In [8]:
print(catastro_df.isnull().sum())
OBJECTID                                 0
Código de la remoción en masa            0
Región                                   0
Tipo de remoción en masa                 0
Tipo de material                         0
Clasificación de remoción en masa        0
Detonante                                0
Día del evento                           0
Mes de inicio del evento                 0
Año del evento                           0
Estación de ocurrencia del evento        0
Método de obtención de la información    0
Fuente de la información                 0
Autor de la fuente                       3
Nota                                     0
Enlace de documento asociado             0
Latitud                                  0
Longitud                                 0
Precisión de coordenadas                 0
dtype: int64

Distribución por Tipo de Remoción

In [9]:
print(catastro_df['Tipo de remoción en masa'].value_counts())
Tipo de remoción en masa
Flujo                      1170
Deslizamiento              1047
Caída                       498
Deformaciones de ladera     146
Propagación                  19
Name: count, dtype: int64

Distribución por Detonante

In [10]:
print(catastro_df['Detonante'].value_counts())
Detonante
Lluvias                                                                  1196
Sin información                                                           737
                                                                          473
Evento Sísmico                                                            376
Deshielo                                                                   28
Excavación pie de ladera/talud                                             27
Otro                                                                       14
Vibración artificial (tráfico, explosiones, hincado de pilotes, otro)      11
Carga en la corona de talud/ladera                                          9
Erosión pie de ladera/talud                                                 8
Erupción volcánica                                                          1
Name: count, dtype: int64

Eventos por Año

In [11]:
print(catastro_df['Año del evento'].value_counts().sort_index())
Año del evento
0       1096
1575       1
1762       1
1828       1
1837       2
        ... 
2017     407
2018      30
2019     178
2020      97
2021     122
Name: count, Length: 64, dtype: int64

Una visualizaciín básica para revisar la distribución

In [12]:
import matplotlib.pyplot as plt

# Distribución de eventos por tipo de remoción
catastro_df['Tipo de remoción en masa'].value_counts().plot(kind='bar', color='skyblue')
plt.title('Distribución de Eventos por Tipo de Remoción en Masa')
plt.xlabel('Tipo de Remoción')
plt.ylabel('Número de Eventos')
plt.show()
No description has been provided for this image

Filtrado por años 2019-2021 y la región del Bío Bío¶

  • Se revisa con mayor profundidad los datos que existen para la región del Bío Bío.
  • Contiene 16 registros y 19 columnas.
In [34]:
# Verificar la distribución por tipo de remoción
print(catastro_df['Tipo de remoción en masa'].value_counts())

# Verificar la distribución por detonante
print(catastro_df['Detonante'].value_counts())

# Analizar los años del evento
print(catastro_df['Año del evento'].value_counts().sort_index())
Tipo de remoción en masa
Flujo                      928
Deslizamiento              500
Caída                      336
Propagación                 15
Deformaciones de ladera      5
Name: count, dtype: int64
Detonante
Lluvias                                                                  1167
Evento Sísmico                                                            370
Sin información                                                           176
Deshielo                                                                   26
Excavación pie de ladera/talud                                             14
Vibración artificial (tráfico, explosiones, hincado de pilotes, otro)       8
Otro                                                                        8
Carga en la corona de talud/ladera                                          5
                                                                            5
Erosión pie de ladera/talud                                                 4
Erupción volcánica                                                          1
Name: count, dtype: int64
Año del evento
1575      1
1762      1
1828      1
1837      2
1905      1
       ... 
2017    407
2018     30
2019    178
2020     97
2021    122
Name: count, Length: 63, dtype: int64
In [41]:
# Filtrar los eventos en el rango de años 2019-2021
filtered_df = catastro_df[(catastro_df['Año del evento'] >= 2019) & (catastro_df['Año del evento'] <= 2021)]

# Verificar la cantidad de registros después del filtrado
print(f"Registros totales después del filtro: {len(filtered_df)}")

# Mostrar las primeras filas para asegurarse de que el filtro es correcto
print(filtered_df.head())
Registros totales después del filtro: 397
      OBJECTID Código de la remoción en masa         Región  \
1098      1099                RM-2019-01-001  Metropolitana   
1099      1100                RM-2019-02-001     Magallanes   
1100      1101                RM-2020-01-001     Magallanes   
1101      1102                RM-2020-01-002     Magallanes   
1102      1103                RM-2020-01-003     Magallanes   

     Tipo de remoción en masa Tipo de material  \
1098                    Caída             Roca   
1099  Deformaciones de ladera  Suelo/Sedimento   
1100                    Flujo  Suelo/Sedimento   
1101                    Flujo  Suelo/Sedimento   
1102                    Flujo  Suelo/Sedimento   

     Clasificación de remoción en masa        Detonante Día del evento  \
1098                     Caída de roca         Deshielo              3   
1099               Reptación de suelos  Sin información                  
1100                 Flujo de detritos          Lluvias        8 al 10   
1101             Avalancha de detritos          Lluvias        8 al 10   
1102             Avalancha de detritos          Lluvias        8 al 10   

     Mes de inicio del evento  Año del evento  \
1098                    Junio            2019   
1099          Sin información            2019   
1100                    Abril            2019   
1101                    Abril            2019   
1102                    Abril            2019   

     Estación de ocurrencia del evento Método de obtención de la información  \
1098        Otoño (del 21-03 al 20-06)                  Observado en terreno   
1099                   Sin información                  Observado en terreno   
1100        Otoño (del 21-03 al 20-06)                  Observado en terreno   
1101        Otoño (del 21-03 al 20-06)                  Observado en terreno   
1102        Otoño (del 21-03 al 20-06)                  Observado en terreno   

                               Fuente de la información  \
1098  2019. Evaluación de peligro por caída de rocas...   
1099  2019. Revisión de punto crítico de remociones ...   
1100  2020. Evaluación geológica del estado de la cu...   
1101  2020. Evaluación geológica del estado de la cu...   
1102  2020. Evaluación geológica del estado de la cu...   

                    Autor de la fuente  \
1098             Jara, C. y Alfaro, A.   
1099  Muñoz, A., Opazo, E., Gálvez, V.   
1100  Muñoz, A., Opazo, E., Gálvez, V.   
1101  Muñoz, A., Opazo, E., Gálvez, V.   
1102  Muñoz, A., Opazo, E., Gálvez, V.   

                                                  Nota  \
1098  2 personas fallecidas (turistas menores de edad)   
1099    Remoción en masa en movimiento desde hace años   
1100                                                     
1101                                                     
1102                                                     

                           Enlace de documento asociado    Latitud   Longitud  \
1098  http://portalgeo.sernageomin.cl/Informes_PDF_N... -33.665451 -70.083050   
1099  http://portalgeo.sernageomin.cl/Informes_PDF_N... -53.135386 -70.993677   
1100  http://portalgeo.sernageomin.cl/Informes_PDF_N... -53.128578 -71.022617   
1101  http://portalgeo.sernageomin.cl/Informes_PDF_N... -53.139111 -70.991233   
1102  http://portalgeo.sernageomin.cl/Informes_PDF_N... -53.139410 -70.990694   

     Precisión de coordenadas  
1098      Coordenadas exactas  
1099      Coordenadas exactas  
1100      Coordenadas exactas  
1101      Coordenadas exactas  
1102      Coordenadas exactas  
In [42]:
# Filtrar eventos para la Región del Biobío
biobio_df = filtered_df[filtered_df['Región'].str.contains("Bío Bío", case=False)]

# Verificar la cantidad de registros en la Región del Biobío
print(f"Registros totales en la Región del Biobío: {len(biobio_df)}")

# Mostrar las primeras filas del DataFrame filtrado
print(biobio_df.head())
Registros totales en la Región del Biobío: 16
      OBJECTID Código de la remoción en masa   Región  \
1163      1164                RM-2019-07-001  Bío Bío   
1164      1165                RM-2019-08-001  Bío Bío   
1165      1166                RM-2019-08-002  Bío Bío   
1166      1167                RM-2019-08-003  Bío Bío   
1167      1168                RM-2019-08-004  Bío Bío   

     Tipo de remoción en masa Tipo de material  \
1163                    Flujo  Suelo/Sedimento   
1164            Deslizamiento  Suelo/Sedimento   
1165            Deslizamiento  Suelo/Sedimento   
1166                    Caída  Suelo/Sedimento   
1167            Deslizamiento  Suelo/Sedimento   

               Clasificación de remoción en masa Detonante Día del evento  \
1163  Deslizamiento-Flujo de arena/limo/detritos   Lluvias             28   
1164    Deslizamiento rotacional de arcilla/limo   Lluvias             28   
1165    Deslizamiento rotacional de arcilla/limo   Lluvias       27 al 28   
1166          Caída de bloque/detrito/arena/limo   Lluvias             27   
1167    Deslizamiento rotacional de arcilla/limo   Lluvias             27   

     Mes de inicio del evento  Año del evento  \
1163                    Junio            2019   
1164                    Junio            2019   
1165                    Junio            2019   
1166                    Junio            2019   
1167                    Junio            2019   

     Estación de ocurrencia del evento Método de obtención de la información  \
1163     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1164     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1165     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1166     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1167     Invierno (del 21-06 al 20-09)                  Observado en terreno   

                               Fuente de la información  \
1163  2019. Observaciones geológicas de la remoción ...   
1164  2019. Observaciones geológicas de las remocion...   
1165  2019. Observaciones geológicas de las remocion...   
1166  2019. Observaciones geológicas de las remocion...   
1167  2019. Observaciones geológicas de las remocion...   

          Autor de la fuente  \
1163  Jara, C.; Espinoza, L.   
1164  Jara, C.; Espinoza, L.   
1165  Jara, C.; Espinoza, L.   
1166  Jara, C.; Espinoza, L.   
1167  Jara, C.; Espinoza, L.   

                                                   Nota  \
1163  Inestabilidad del terreno acentuada por excava...   
1164  Deslizamiento por inestabilidad en talud excav...   
1165  Deslizamiento por inestabilidad en talud excav...   
1166  Inestabilidad del terreno acentuada por excava...   
1167  Inestabilidad del terreno acentuada por excava...   

                           Enlace de documento asociado    Latitud   Longitud  \
1163  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.534888 -72.716864   
1164  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.794549 -72.796173   
1165  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.806096 -72.796257   
1166  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.897905 -72.804806   
1167  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.898290 -72.804650   

     Precisión de coordenadas  
1163      Coordenadas exactas  
1164      Coordenadas exactas  
1165      Coordenadas exactas  
1166      Coordenadas exactas  
1167      Coordenadas exactas  
In [48]:
print(biobio_df.describe)
<bound method NDFrame.describe of       OBJECTID Código de la remoción en masa   Región  \
1163      1164                RM-2019-07-001  Bío Bío   
1164      1165                RM-2019-08-001  Bío Bío   
1165      1166                RM-2019-08-002  Bío Bío   
1166      1167                RM-2019-08-003  Bío Bío   
1167      1168                RM-2019-08-004  Bío Bío   
1204      1205                RM-2019-26-001  Bío Bío   
1205      1206                RM-2019-27-001  Bío Bío   
1206      1207                RM-2019-28-001  Bío Bío   
2422      2423                RM-2019-41-001  Bío Bío   
2446      2447                RM-2020-11-001  Bío Bío   
2449      2450                RM-2021-18-001  Bío Bío   
2450      2451                RM-2021-19-001  Bío Bío   
2451      2452                RM-2021-20-001  Bío Bío   
2452      2453                RM-2021-21-001  Bío Bío   
2453      2454                RM-2021-22-001  Bío Bío   
2454      2455                RM-2021-24-001  Bío Bío   

     Tipo de remoción en masa        Tipo de material  \
1163                    Flujo         Suelo/Sedimento   
1164            Deslizamiento         Suelo/Sedimento   
1165            Deslizamiento         Suelo/Sedimento   
1166                    Caída         Suelo/Sedimento   
1167            Deslizamiento         Suelo/Sedimento   
1204            Deslizamiento         Suelo/Sedimento   
1205            Deslizamiento         Suelo/Sedimento   
1206                    Caída                    Roca   
2422  Deformaciones de ladera         Suelo/Sedimento   
2446                    Flujo         Suelo/Sedimento   
2449            Deslizamiento  Roca y Suelo/Sedimento   
2450            Deslizamiento  Roca y Suelo/Sedimento   
2451            Deslizamiento  Roca y Suelo/Sedimento   
2452            Deslizamiento  Roca y Suelo/Sedimento   
2453            Deslizamiento  Roca y Suelo/Sedimento   
2454            Deslizamiento  Roca y Suelo/Sedimento   

               Clasificación de remoción en masa  \
1163  Deslizamiento-Flujo de arena/limo/detritos   
1164    Deslizamiento rotacional de arcilla/limo   
1165    Deslizamiento rotacional de arcilla/limo   
1166          Caída de bloque/detrito/arena/limo   
1167    Deslizamiento rotacional de arcilla/limo   
1204     Deslizamiento compuesto de arcilla/limo   
1205     Deslizamiento compuesto de arcilla/limo   
1206          Caída de bloque/detrito/arena/limo   
2422                         Reptación de suelos   
2446  Deslizamiento-Flujo de arena/limo/detritos   
2449       Deslizamiento de grava/arena/detritos   
2450       Deslizamiento de grava/arena/detritos   
2451       Deslizamiento de grava/arena/detritos   
2452       Deslizamiento de grava/arena/detritos   
2453       Deslizamiento de grava/arena/detritos   
2454       Deslizamiento de grava/arena/detritos   

                               Detonante Día del evento  \
1163                             Lluvias             28   
1164                             Lluvias             28   
1165                             Lluvias       27 al 28   
1166                             Lluvias             27   
1167                             Lluvias             27   
1204                             Lluvias                  
1205                             Lluvias             13   
1206                             Lluvias             16   
2422                             Lluvias             30   
2446                             Lluvias             13   
2449                             Lluvias              1   
2450                             Lluvias             24   
2451                             Lluvias       19 al 21   
2452      Excavación pie de ladera/talud              4   
2453                             Lluvias             25   
2454  Carga en la corona de talud/ladera             11   

     Mes de inicio del evento  Año del evento  \
1163                    Junio            2019   
1164                    Junio            2019   
1165                    Junio            2019   
1166                    Junio            2019   
1167                    Junio            2019   
1204                    Junio            2019   
1205                    Junio            2019   
1206                    Junio            2019   
2422                    Junio            2019   
2446                    Marzo            2020   
2449                    Junio            2021   
2450                     Mayo            2021   
2451                   Agosto            2021   
2452                  Octubre            2021   
2453                    Junio            2021   
2454                Noviembre            2021   

     Estación de ocurrencia del evento Método de obtención de la información  \
1163     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1164     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1165     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1166     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1167     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1204     Invierno (del 21-06 al 20-09)                  Observado en terreno   
1205        Otoño (del 21-03 al 20-06)                  Observado en terreno   
1206        Otoño (del 21-03 al 20-06)                  Observado en terreno   
2422     Invierno (del 21-06 al 20-09)                  Observado en terreno   
2446       Verano (del 21-12 al 20-03)                  Observado en terreno   
2449        Otoño (del 21-03 al 20-06)                  Observado en terreno   
2450        Otoño (del 21-03 al 20-06)                  Observado en terreno   
2451     Invierno (del 21-06 al 20-09)                  Observado en terreno   
2452    Primavera (del 21-09 al 20-12)                  Observado en terreno   
2453     Invierno (del 21-06 al 20-09)                  Observado en terreno   
2454    Primavera (del 21-09 al 20-12)                  Observado en terreno   

                               Fuente de la información  \
1163  2019. Observaciones geológicas de la remoción ...   
1164  2019. Observaciones geológicas de las remocion...   
1165  2019. Observaciones geológicas de las remocion...   
1166  2019. Observaciones geológicas de las remocion...   
1167  2019. Observaciones geológicas de las remocion...   
1204  2019. Remocion en masa Población San Pedro - L...   
1205  2019. Remocion en masa sector Villuco, Chiguay...   
1206  2019. Remocion en masa Parque Pedro del Río Za...   
2422  2019. Evaluación de remoción en masa en la pob...   
2446  2020. Evaluación de remoción en masa, sectores...   
2449  2021. Reporte de visita técnica sector Villa I...   
2450  2021. Reporte de asistencia técnica Villa Conc...   
2451  2021. Reporte técnico cerro La Virgen y cerro ...   
2452  2021. Reporte de visita técnica, deslizamiento...   
2453  2021. Reporte de visita técnica: sector de Cur...   
2454  2021. Reporte técnico Cerro Cournou, Talcahuan...   

          Autor de la fuente  \
1163  Jara, C.; Espinoza, L.   
1164  Jara, C.; Espinoza, L.   
1165  Jara, C.; Espinoza, L.   
1166  Jara, C.; Espinoza, L.   
1167  Jara, C.; Espinoza, L.   
1204             Ramírez, P.   
1205             Ramírez, P.   
1206             Ramírez, P.   
2422             Ramírez, P.   
2446           Sepulveda, N.   
2449           Sepulveda, N.   
2450           Sepulveda, N.   
2451           Sepulveda, N.   
2452           Sepulveda, N.   
2453           Sepulveda, N.   
2454           Sepulveda, N.   

                                                   Nota  \
1163  Inestabilidad del terreno acentuada por excava...   
1164  Deslizamiento por inestabilidad en talud excav...   
1165  Deslizamiento por inestabilidad en talud excav...   
1166  Inestabilidad del terreno acentuada por excava...   
1167  Inestabilidad del terreno acentuada por excava...   
1204  No se pudo verificar el monto de precipitacion...   
1205                                                      
1206  El evento fue favorecido por la presencia de u...   
2422                                                      
2446                                                      
2449                                                      
2450                                                      
2451                                                      
2452                                                      
2453                                                      
2454                                                      

                           Enlace de documento asociado    Latitud   Longitud  \
1163  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.534888 -72.716864   
1164  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.794549 -72.796173   
1165  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.806096 -72.796257   
1166  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.897905 -72.804806   
1167  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.898290 -72.804650   
1204  http://portalgeo.sernageomin.cl/Informes_PDF_N... -37.164341 -73.185458   
1205  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.876843 -73.034352   
1206  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.803803 -73.164244   
2422  http://portalgeo.sernageomin.cl/Informes_PDF_N... -37.164341 -73.185458   
2446  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.913889 -73.019472   
2449  http://portalgeo.sernageomin.cl/Informes_PDF_N... -37.806380 -73.402372   
2450  http://portalgeo.sernageomin.cl/Informes_PDF_N... -37.275316 -72.705768   
2451  http://portalgeo.sernageomin.cl/Informes_PDF_N... -37.028136 -73.143525   
2452  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.604726 -72.959012   
2453  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.651778 -72.799972   
2454  http://portalgeo.sernageomin.cl/Informes_PDF_N... -36.711014 -73.117756   

                               Precisión de coordenadas  
1163                                Coordenadas exactas  
1164                                Coordenadas exactas  
1165                                Coordenadas exactas  
1166                                Coordenadas exactas  
1167                                Coordenadas exactas  
1204                                Coordenadas exactas  
1205                                Coordenadas exactas  
1206                                Coordenadas exactas  
2422                                Coordenadas exactas  
2446                  Coordenadas aproximadas al sector  
2449                                Coordenadas exactas  
2450                                Coordenadas exactas  
2451  Coordenadas inexactas ubicadas en la ciudad o ...  
2452                  Coordenadas aproximadas al sector  
2453                                Coordenadas exactas  
2454                  Coordenadas aproximadas al sector  >

Limpieza datos región del Bío Bío¶

In [43]:
print(biobio_df.isnull().sum())
OBJECTID                                 0
Código de la remoción en masa            0
Región                                   0
Tipo de remoción en masa                 0
Tipo de material                         0
Clasificación de remoción en masa        0
Detonante                                0
Día del evento                           0
Mes de inicio del evento                 0
Año del evento                           0
Estación de ocurrencia del evento        0
Método de obtención de la información    0
Fuente de la información                 0
Autor de la fuente                       0
Nota                                     0
Enlace de documento asociado             0
Latitud                                  0
Longitud                                 0
Precisión de coordenadas                 0
dtype: int64
In [44]:
biobio_df.info()
<class 'pandas.core.frame.DataFrame'>
Index: 16 entries, 1163 to 2454
Data columns (total 19 columns):
 #   Column                                 Non-Null Count  Dtype  
---  ------                                 --------------  -----  
 0   OBJECTID                               16 non-null     int64  
 1   Código de la remoción en masa          16 non-null     object 
 2   Región                                 16 non-null     object 
 3   Tipo de remoción en masa               16 non-null     object 
 4   Tipo de material                       16 non-null     object 
 5   Clasificación de remoción en masa      16 non-null     object 
 6   Detonante                              16 non-null     object 
 7   Día del evento                         16 non-null     object 
 8   Mes de inicio del evento               16 non-null     object 
 9   Año del evento                         16 non-null     int64  
 10  Estación de ocurrencia del evento      16 non-null     object 
 11  Método de obtención de la información  16 non-null     object 
 12  Fuente de la información               16 non-null     object 
 13  Autor de la fuente                     16 non-null     object 
 14  Nota                                   16 non-null     object 
 15  Enlace de documento asociado           16 non-null     object 
 16  Latitud                                16 non-null     float64
 17  Longitud                               16 non-null     float64
 18  Precisión de coordenadas               16 non-null     object 
dtypes: float64(2), int64(2), object(15)
memory usage: 2.5+ KB

Análisis Geoespacial región del Bío Bío¶

  • Visualización de los eventos en un mapa utilizando geopandas y matplotlib.
In [45]:
# Crear geometrías a partir de las coordenadas de latitud y longitud
geometry = [Point(xy) for xy in zip(biobio_df['Longitud'], biobio_df['Latitud'])]
geo_biobio = gpd.GeoDataFrame(biobio_df, geometry=geometry)

# Graficar el mapa con los eventos
geo_biobio.plot(figsize=(10, 6), markersize=5, color='blue')
plt.title("Distribución Geoespacial de Eventos de Remoción en Masa")
plt.xlabel("Longitud")
plt.ylabel("Latitud")
plt.show()
No description has been provided for this image
In [46]:
# Crear el mapa centrado en Chile
mapa = folium.Map(location=[-35.6751, -71.5430], zoom_start=5)

# Crear un clúster de marcadores para los eventos
marker_cluster = MarkerCluster().add_to(mapa)

# Agregar puntos al clúster
for idx, row in biobio_df.iterrows():
    folium.Marker(
        location=[row['Latitud'], row['Longitud']],
        popup=f"Tipo: {row['Tipo de remoción en masa']}<br>Detonante: {row['Detonante']}<br>Año: {row['Año del evento']}",
        icon=folium.Icon(color='blue', icon='info-sign')
    ).add_to(marker_cluster)

# Mostrar el mapa
mapa
Out[46]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [49]:
# Exportar el DataFrame filtrado a un archivo Excel
output_path = "biobio_remociones.xlsx"  # Nombre del archivo de salida
biobio_df.to_excel(output_path, index=False)

print(f"Archivo exportado exitosamente a: {output_path}")
Archivo exportado exitosamente a: biobio_remociones.xlsx
In [57]:
from sentinelhub import SentinelHubRequest, BBox, CRS, MimeType, DataCollection, SHConfig
import matplotlib.pyplot as plt
import numpy as np

# Configurar Sentinel-Hub API
config = SHConfig()
config.sh_client_id = 'b101d5fc-9363-46c7-b069-15ecfaed6b73'  # Reemplazar con tu client ID
config.sh_client_secret = 'CNXBeF1ZLLAsLoj4QlWta6giT2brnWRZ'  # Reemplazar con tu client secret

# Datos del evento
latitude, longitude = -36.534888, -72.716864  # Coordenadas del evento
time_interval = ('2019-06-01', '2019-06-30')  # Rango de fechas

# Definir bounding box del evento (1 km de buffer)
buffer = 0.01  # ~1 km en grados
coords = BBox(bbox=[longitude - buffer, latitude - buffer, longitude + buffer, latitude + buffer], crs=CRS.WGS84)

# Configurar solicitud de imágenes Sentinel-2
request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
        // Script para obtener una imagen RGB
        function setup() {
            return {
                input: ["B04", "B03", "B02"],  // Bandas: Rojo, Verde, Azul
                output: { bands: 3 }
            };
        }
        function evaluatePixel(sample) {
            return [sample.B04, sample.B03, sample.B02];
        }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_interval
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=(512, 512),  # Resolución
    config=config
)

# Ejecutar la solicitud
response = request.get_data()
print(f"Se obtuvieron {len(response)} imágenes.")

# Visualizar la imagen descargada (si existe)
if len(response) > 0:
    # Convertir la imagen a un array de numpy
    image = np.array(response[0])
    
    # Mostrar la imagen
    plt.figure(figsize=(10, 10))
    plt.imshow(image)
    plt.axis('off')
    plt.title("Imagen RGB del Evento 1164 - 28/06/2019")
    plt.show()
else:
    print("No se encontraron imágenes para este evento.")
Se obtuvieron 1 imágenes.
No description has been provided for this image

Se observa que la imagen posee nubes sobre ella, por lo que se estima utilizar una mascara de nubes, en donde podemos filtrar las nubes automáticamente y enfocarnos en las áreas despejadas.

In [55]:
# Ajustar el script para visualizar los píxeles marcados como nubes
request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
        function setup() {
            return {
                input: ["B04", "B03", "B02", "CLM"],  // Bandas RGB y máscara de nubes
                output: { bands: 4 }
            };
        }
        function evaluatePixel(sample) {
            if (sample.CLM > 0) {  // Píxeles con nubes
                return [255, 0, 0, 1];  // Marcar nubes en rojo
            }
            return [sample.B04, sample.B03, sample.B02, 1];  // Píxeles sin nubes
        }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_interval
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=(512, 512),
    config=config
)

# Ejecutar la solicitud y mostrar la imagen
response = request.get_data()
if len(response) > 0:
    image = np.array(response[0])
    plt.imshow(image[:, :, :3])  # Mostrar la imagen con las nubes marcadas
    plt.axis('off')
    plt.title("Nubes (Rojo) y Píxeles Despejados")
    plt.show()
else:
    print("No se encontraron imágenes en este rango de fechas.")
No description has been provided for this image

Probando con otro evento, ya que para las nubes nos funcionó el filtro.¶

In [59]:
# Datos del evento con OBJECTID 1165
latitude, longitude = -36.650230, -72.050980  # Coordenadas del evento
time_interval = ('2019-06-01', '2019-06-30')  # Rango de fechas pre y post-evento

# Definir el bounding box para el evento
buffer = 0.01  # ~1 km en grados
coords = BBox(bbox=[longitude - buffer, latitude - buffer, longitude + buffer, latitude + buffer], crs=CRS.WGS84)

# Configurar la solicitud de imágenes Sentinel-2
request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
        function setup() {
            return {
                input: ["B04", "B03", "B02"],  // Bandas: Rojo, Verde, Azul
                output: { bands: 3 }
            };
        }
        function evaluatePixel(sample) {
            return [sample.B04, sample.B03, sample.B02];
        }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_interval
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=(512, 512),  # Resolución
    config=config
)

# Ejecutar la solicitud
response = request.get_data()
print(f"Se obtuvieron {len(response)} imágenes.")

# Visualizar la imagen descargada (si existe)
if len(response) > 0:
    # Convertir la imagen a un array de numpy
    image = np.array(response[0])
    
    # Mostrar la imagen
    plt.figure(figsize=(10, 10))
    plt.imshow(image)
    plt.axis('off')
    plt.title("Imagen RGB del Evento 1164 - 28/06/2019")
    plt.show()
else:
    print("No se encontraron imágenes para este evento.")
Se obtuvieron 1 imágenes.
No description has been provided for this image
In [61]:
# Datos del evento con OBJECTID 1166
latitude, longitude = -36.712300, -72.088200  # Coordenadas del evento (ajustar según archivo)
time_interval = ('2019-06-01', '2019-06-30')  # Rango de fechas pre y post-evento

# Definir el bounding box para el evento
buffer = 0.01  # ~1 km en grados
coords = BBox(bbox=[longitude - buffer, latitude - buffer, longitude + buffer, latitude + buffer], crs=CRS.WGS84)

# Configurar la solicitud de imágenes Sentinel-2
request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
        function setup() {
            return {
                input: ["B04", "B03", "B02"],  // Bandas: Rojo, Verde, Azul
                output: { bands: 3 }
            };
        }
        function evaluatePixel(sample) {
            return [sample.B04, sample.B03, sample.B02];
        }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_interval
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=(512, 512),  # Resolución
    config=config
)

# Ejecutar la solicitud
response = request.get_data()
print(f"Se obtuvieron {len(response)} imágenes.")

# Visualizar la imagen descargada (si existe)
if len(response) > 0:
    # Convertir la imagen a un array de numpy
    image = np.array(response[0])
    
    # Mostrar la imagen
    plt.figure(figsize=(10, 10))
    plt.imshow(image)
    plt.axis('off')
    plt.title("Imagen RGB del Evento 1164 - 27/06/2019 - 28/06/2019")
    plt.show()
else:
    print("No se encontraron imágenes para este evento.")
Se obtuvieron 1 imágenes.
No description has been provided for this image
In [63]:
%pip install earthengine-api
%pip install geemap
Collecting earthengine-apiNote: you may need to restart the kernel to use updated packages.

  Downloading earthengine_api-1.4.3-py3-none-any.whl.metadata (1.8 kB)
Collecting google-cloud-storage (from earthengine-api)
  Downloading google_cloud_storage-2.19.0-py2.py3-none-any.whl.metadata (9.1 kB)
Collecting google-api-python-client>=1.12.1 (from earthengine-api)
  Downloading google_api_python_client-2.156.0-py2.py3-none-any.whl.metadata (6.7 kB)
Collecting google-auth>=1.4.1 (from earthengine-api)
  Downloading google_auth-2.37.0-py2.py3-none-any.whl.metadata (4.8 kB)
Collecting google-auth-httplib2>=0.0.3 (from earthengine-api)
  Downloading google_auth_httplib2-0.2.0-py2.py3-none-any.whl.metadata (2.2 kB)
Collecting httplib2<1dev,>=0.9.2 (from earthengine-api)
  Downloading httplib2-0.22.0-py3-none-any.whl.metadata (2.6 kB)
Requirement already satisfied: requests in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api) (2.32.2)
Collecting google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5 (from google-api-python-client>=1.12.1->earthengine-api)
  Downloading google_api_core-2.24.0-py3-none-any.whl.metadata (3.0 kB)
Collecting uritemplate<5,>=3.0.1 (from google-api-python-client>=1.12.1->earthengine-api)
  Downloading uritemplate-4.1.1-py2.py3-none-any.whl.metadata (2.9 kB)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from google-auth>=1.4.1->earthengine-api) (5.3.3)
Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\users\rodag\anaconda3\lib\site-packages (from google-auth>=1.4.1->earthengine-api) (0.2.8)
Collecting rsa<5,>=3.1.4 (from google-auth>=1.4.1->earthengine-api)
  Downloading rsa-4.9-py3-none-any.whl.metadata (4.2 kB)
Requirement already satisfied: pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 in c:\users\rodag\anaconda3\lib\site-packages (from httplib2<1dev,>=0.9.2->earthengine-api) (3.0.9)
Collecting google-cloud-core<3.0dev,>=2.3.0 (from google-cloud-storage->earthengine-api)
  Downloading google_cloud_core-2.4.1-py2.py3-none-any.whl.metadata (2.7 kB)
Collecting google-resumable-media>=2.7.2 (from google-cloud-storage->earthengine-api)
  Downloading google_resumable_media-2.7.2-py2.py3-none-any.whl.metadata (2.2 kB)
Collecting google-crc32c<2.0dev,>=1.0 (from google-cloud-storage->earthengine-api)
  Downloading google_crc32c-1.6.0-cp312-cp312-win_amd64.whl.metadata (2.4 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api) (2024.8.30)
Collecting googleapis-common-protos<2.0.dev0,>=1.56.2 (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api)
  Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0,>=3.19.5 in c:\users\rodag\anaconda3\lib\site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api) (3.20.3)
Collecting proto-plus<2.0.0dev,>=1.22.3 (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api)
  Downloading proto_plus-1.25.0-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in c:\users\rodag\anaconda3\lib\site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.4.1->earthengine-api) (0.4.8)
Downloading earthengine_api-1.4.3-py3-none-any.whl (457 kB)
   ---------------------------------------- 0.0/457.3 kB ? eta -:--:--
   -- ------------------------------------- 30.7/457.3 kB ? eta -:--:--
   ---------- ----------------------------- 122.9/457.3 kB 1.8 MB/s eta 0:00:01
   --------------- ------------------------ 174.1/457.3 kB 1.5 MB/s eta 0:00:01
   ------------------ --------------------- 215.0/457.3 kB 1.5 MB/s eta 0:00:01
   ------------------------- -------------- 297.0/457.3 kB 1.5 MB/s eta 0:00:01
   --------------------------------- ------ 378.9/457.3 kB 1.5 MB/s eta 0:00:01
   ---------------------------------------  450.6/457.3 kB 1.6 MB/s eta 0:00:01
   ---------------------------------------- 457.3/457.3 kB 1.4 MB/s eta 0:00:00
Downloading google_api_python_client-2.156.0-py2.py3-none-any.whl (12.7 MB)
   ---------------------------------------- 0.0/12.7 MB ? eta -:--:--
   ---------------------------------------- 0.1/12.7 MB 3.8 MB/s eta 0:00:04
   ---------------------------------------- 0.2/12.7 MB 2.3 MB/s eta 0:00:06
    --------------------------------------- 0.3/12.7 MB 2.0 MB/s eta 0:00:07
    --------------------------------------- 0.3/12.7 MB 2.0 MB/s eta 0:00:07
   - -------------------------------------- 0.4/12.7 MB 1.9 MB/s eta 0:00:07
   - -------------------------------------- 0.5/12.7 MB 2.0 MB/s eta 0:00:07
   - -------------------------------------- 0.6/12.7 MB 1.9 MB/s eta 0:00:07
   -- ------------------------------------- 0.7/12.7 MB 1.9 MB/s eta 0:00:07
   -- ------------------------------------- 0.7/12.7 MB 1.9 MB/s eta 0:00:07
   -- ------------------------------------- 0.8/12.7 MB 1.8 MB/s eta 0:00:07
   -- ------------------------------------- 0.9/12.7 MB 1.8 MB/s eta 0:00:07
   -- ------------------------------------- 1.0/12.7 MB 1.8 MB/s eta 0:00:07
   --- ------------------------------------ 1.0/12.7 MB 1.7 MB/s eta 0:00:07
   --- ------------------------------------ 1.1/12.7 MB 1.7 MB/s eta 0:00:07
   --- ------------------------------------ 1.2/12.7 MB 1.8 MB/s eta 0:00:07
   --- ------------------------------------ 1.2/12.7 MB 1.8 MB/s eta 0:00:07
   ---- ----------------------------------- 1.3/12.7 MB 1.7 MB/s eta 0:00:07
   ---- ----------------------------------- 1.4/12.7 MB 1.7 MB/s eta 0:00:07
   ---- ----------------------------------- 1.5/12.7 MB 1.7 MB/s eta 0:00:07
   ---- ----------------------------------- 1.5/12.7 MB 1.7 MB/s eta 0:00:07
   ----- ---------------------------------- 1.6/12.7 MB 1.7 MB/s eta 0:00:07
   ----- ---------------------------------- 1.7/12.7 MB 1.7 MB/s eta 0:00:07
   ----- ---------------------------------- 1.8/12.7 MB 1.7 MB/s eta 0:00:07
   ----- ---------------------------------- 1.9/12.7 MB 1.7 MB/s eta 0:00:07
   ------ --------------------------------- 2.0/12.7 MB 1.8 MB/s eta 0:00:07
   ------ --------------------------------- 2.1/12.7 MB 1.8 MB/s eta 0:00:07
   ------ --------------------------------- 2.2/12.7 MB 1.8 MB/s eta 0:00:06
   ------- -------------------------------- 2.3/12.7 MB 1.8 MB/s eta 0:00:06
   ------- -------------------------------- 2.4/12.7 MB 1.8 MB/s eta 0:00:06
   ------- -------------------------------- 2.5/12.7 MB 1.8 MB/s eta 0:00:06
   -------- ------------------------------- 2.6/12.7 MB 1.8 MB/s eta 0:00:06
   -------- ------------------------------- 2.7/12.7 MB 1.8 MB/s eta 0:00:06
   -------- ------------------------------- 2.8/12.7 MB 1.8 MB/s eta 0:00:06
   --------- ------------------------------ 2.9/12.7 MB 1.9 MB/s eta 0:00:06
   --------- ------------------------------ 3.1/12.7 MB 1.9 MB/s eta 0:00:06
   --------- ------------------------------ 3.1/12.7 MB 1.9 MB/s eta 0:00:06
   --------- ------------------------------ 3.1/12.7 MB 1.9 MB/s eta 0:00:06
   ---------- ----------------------------- 3.2/12.7 MB 1.9 MB/s eta 0:00:06
   ---------- ----------------------------- 3.3/12.7 MB 1.8 MB/s eta 0:00:06
   ---------- ----------------------------- 3.4/12.7 MB 1.8 MB/s eta 0:00:06
   ---------- ----------------------------- 3.5/12.7 MB 1.8 MB/s eta 0:00:06
   ---------- ----------------------------- 3.5/12.7 MB 1.8 MB/s eta 0:00:06
   ----------- ---------------------------- 3.6/12.7 MB 1.8 MB/s eta 0:00:06
   ----------- ---------------------------- 3.7/12.7 MB 1.8 MB/s eta 0:00:06
   ----------- ---------------------------- 3.7/12.7 MB 1.8 MB/s eta 0:00:06
   ----------- ---------------------------- 3.8/12.7 MB 1.8 MB/s eta 0:00:06
   ------------ --------------------------- 3.8/12.7 MB 1.8 MB/s eta 0:00:06
   ------------ --------------------------- 3.9/12.7 MB 1.8 MB/s eta 0:00:06
   ------------ --------------------------- 3.9/12.7 MB 1.7 MB/s eta 0:00:06
   ------------ --------------------------- 4.0/12.7 MB 1.7 MB/s eta 0:00:06
   ------------ --------------------------- 4.0/12.7 MB 1.7 MB/s eta 0:00:06
   ------------ --------------------------- 4.1/12.7 MB 1.7 MB/s eta 0:00:06
   ------------ --------------------------- 4.1/12.7 MB 1.7 MB/s eta 0:00:06
   ------------- -------------------------- 4.2/12.7 MB 1.7 MB/s eta 0:00:06
   ------------- -------------------------- 4.3/12.7 MB 1.7 MB/s eta 0:00:06
   ------------- -------------------------- 4.3/12.7 MB 1.7 MB/s eta 0:00:05
   ------------- -------------------------- 4.4/12.7 MB 1.7 MB/s eta 0:00:05
   ------------- -------------------------- 4.5/12.7 MB 1.7 MB/s eta 0:00:05
   -------------- ------------------------- 4.5/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.5/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.5/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.6/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.6/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.6/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.7/12.7 MB 1.6 MB/s eta 0:00:06
   -------------- ------------------------- 4.8/12.7 MB 1.6 MB/s eta 0:00:06
   --------------- ------------------------ 4.8/12.7 MB 1.6 MB/s eta 0:00:06
   --------------- ------------------------ 4.9/12.7 MB 1.6 MB/s eta 0:00:06
   --------------- ------------------------ 4.9/12.7 MB 1.5 MB/s eta 0:00:06
   --------------- ------------------------ 5.0/12.7 MB 1.5 MB/s eta 0:00:06
   --------------- ------------------------ 5.0/12.7 MB 1.5 MB/s eta 0:00:05
   ---------------- ----------------------- 5.1/12.7 MB 1.5 MB/s eta 0:00:05
   ---------------- ----------------------- 5.1/12.7 MB 1.5 MB/s eta 0:00:05
   ---------------- ----------------------- 5.2/12.7 MB 1.5 MB/s eta 0:00:06
   ---------------- ----------------------- 5.2/12.7 MB 1.5 MB/s eta 0:00:05
   ---------------- ----------------------- 5.3/12.7 MB 1.5 MB/s eta 0:00:05
   ---------------- ----------------------- 5.4/12.7 MB 1.5 MB/s eta 0:00:05
   ----------------- ---------------------- 5.4/12.7 MB 1.5 MB/s eta 0:00:05
   ----------------- ---------------------- 5.5/12.7 MB 1.5 MB/s eta 0:00:05
   ----------------- ---------------------- 5.6/12.7 MB 1.5 MB/s eta 0:00:05
   ----------------- ---------------------- 5.6/12.7 MB 1.5 MB/s eta 0:00:05
   ----------------- ---------------------- 5.7/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------ --------------------- 5.7/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------ --------------------- 5.8/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------ --------------------- 5.9/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------ --------------------- 6.0/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------ --------------------- 6.0/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------- -------------------- 6.1/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------- -------------------- 6.1/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------- -------------------- 6.2/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------- -------------------- 6.3/12.7 MB 1.5 MB/s eta 0:00:05
   ------------------- -------------------- 6.3/12.7 MB 1.5 MB/s eta 0:00:05
   -------------------- ------------------- 6.4/12.7 MB 1.5 MB/s eta 0:00:05
   -------------------- ------------------- 6.5/12.7 MB 1.5 MB/s eta 0:00:05
   -------------------- ------------------- 6.5/12.7 MB 1.5 MB/s eta 0:00:05
   -------------------- ------------------- 6.6/12.7 MB 1.5 MB/s eta 0:00:05
   -------------------- ------------------- 6.7/12.7 MB 1.5 MB/s eta 0:00:05
   --------------------- ------------------ 6.7/12.7 MB 1.5 MB/s eta 0:00:05
   --------------------- ------------------ 6.8/12.7 MB 1.5 MB/s eta 0:00:04
   --------------------- ------------------ 6.8/12.7 MB 1.5 MB/s eta 0:00:04
   --------------------- ------------------ 6.9/12.7 MB 1.5 MB/s eta 0:00:04
   --------------------- ------------------ 6.9/12.7 MB 1.5 MB/s eta 0:00:04
   --------------------- ------------------ 7.0/12.7 MB 1.5 MB/s eta 0:00:04
   --------------------- ------------------ 7.0/12.7 MB 1.5 MB/s eta 0:00:04
   ---------------------- ----------------- 7.1/12.7 MB 1.5 MB/s eta 0:00:04
   ---------------------- ----------------- 7.1/12.7 MB 1.5 MB/s eta 0:00:04
   ---------------------- ----------------- 7.1/12.7 MB 1.5 MB/s eta 0:00:04
   ---------------------- ----------------- 7.2/12.7 MB 1.5 MB/s eta 0:00:04
   ---------------------- ----------------- 7.3/12.7 MB 1.5 MB/s eta 0:00:04
   ----------------------- ---------------- 7.4/12.7 MB 1.4 MB/s eta 0:00:04
   ----------------------- ---------------- 7.4/12.7 MB 1.5 MB/s eta 0:00:04
   ----------------------- ---------------- 7.5/12.7 MB 1.4 MB/s eta 0:00:04
   ----------------------- ---------------- 7.6/12.7 MB 1.5 MB/s eta 0:00:04
   ----------------------- ---------------- 7.6/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------ --------------- 7.7/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------ --------------- 7.8/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------ --------------- 7.9/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------ --------------- 7.9/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------- -------------- 8.0/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------- -------------- 8.0/12.7 MB 1.5 MB/s eta 0:00:04
   ------------------------- -------------- 8.1/12.7 MB 1.4 MB/s eta 0:00:04
   ------------------------- -------------- 8.1/12.7 MB 1.4 MB/s eta 0:00:04
   ------------------------- -------------- 8.2/12.7 MB 1.4 MB/s eta 0:00:04
   ------------------------- -------------- 8.2/12.7 MB 1.4 MB/s eta 0:00:04
   ------------------------- -------------- 8.2/12.7 MB 1.4 MB/s eta 0:00:04
   ------------------------- -------------- 8.3/12.7 MB 1.4 MB/s eta 0:00:04
   -------------------------- ------------- 8.3/12.7 MB 1.4 MB/s eta 0:00:04
   -------------------------- ------------- 8.3/12.7 MB 1.4 MB/s eta 0:00:04
   -------------------------- ------------- 8.4/12.7 MB 1.4 MB/s eta 0:00:04
   -------------------------- ------------- 8.5/12.7 MB 1.4 MB/s eta 0:00:04
   -------------------------- ------------- 8.5/12.7 MB 1.4 MB/s eta 0:00:03
   -------------------------- ------------- 8.6/12.7 MB 1.4 MB/s eta 0:00:03
   --------------------------- ------------ 8.6/12.7 MB 1.4 MB/s eta 0:00:03
   --------------------------- ------------ 8.7/12.7 MB 1.4 MB/s eta 0:00:03
   --------------------------- ------------ 8.8/12.7 MB 1.4 MB/s eta 0:00:03
   --------------------------- ------------ 8.8/12.7 MB 1.4 MB/s eta 0:00:03
   --------------------------- ------------ 8.9/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.0/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.0/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.1/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.2/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.2/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.2/12.7 MB 1.4 MB/s eta 0:00:03
   ---------------------------- ----------- 9.2/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.2/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.2/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.3/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.3/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.4/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.5/12.7 MB 1.4 MB/s eta 0:00:03
   ----------------------------- ---------- 9.5/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------ --------- 9.6/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------ --------- 9.7/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------ --------- 9.7/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------ --------- 9.7/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------ --------- 9.8/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------ --------- 9.8/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------- -------- 9.9/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------- -------- 10.0/12.7 MB 1.4 MB/s eta 0:00:03
   ------------------------------- -------- 10.1/12.7 MB 1.4 MB/s eta 0:00:02
   ------------------------------- -------- 10.1/12.7 MB 1.4 MB/s eta 0:00:02
   -------------------------------- ------- 10.2/12.7 MB 1.4 MB/s eta 0:00:02
   -------------------------------- ------- 10.3/12.7 MB 1.4 MB/s eta 0:00:02
   -------------------------------- ------- 10.3/12.7 MB 1.4 MB/s eta 0:00:02
   -------------------------------- ------- 10.4/12.7 MB 1.4 MB/s eta 0:00:02
   -------------------------------- ------- 10.5/12.7 MB 1.4 MB/s eta 0:00:02
   --------------------------------- ------ 10.6/12.7 MB 1.4 MB/s eta 0:00:02
   --------------------------------- ------ 10.7/12.7 MB 1.4 MB/s eta 0:00:02
   --------------------------------- ------ 10.7/12.7 MB 1.4 MB/s eta 0:00:02
   --------------------------------- ------ 10.8/12.7 MB 1.3 MB/s eta 0:00:02
   --------------------------------- ------ 10.8/12.7 MB 1.3 MB/s eta 0:00:02
   ---------------------------------- ----- 10.9/12.7 MB 1.3 MB/s eta 0:00:02
   ---------------------------------- ----- 10.9/12.7 MB 1.3 MB/s eta 0:00:02
   ---------------------------------- ----- 11.0/12.7 MB 1.3 MB/s eta 0:00:02
   ---------------------------------- ----- 11.1/12.7 MB 1.3 MB/s eta 0:00:02
   ----------------------------------- ---- 11.2/12.7 MB 1.3 MB/s eta 0:00:02
   ----------------------------------- ---- 11.2/12.7 MB 1.3 MB/s eta 0:00:02
   ----------------------------------- ---- 11.3/12.7 MB 1.3 MB/s eta 0:00:02
   ----------------------------------- ---- 11.3/12.7 MB 1.3 MB/s eta 0:00:02
   ----------------------------------- ---- 11.4/12.7 MB 1.3 MB/s eta 0:00:02
   ------------------------------------ --- 11.5/12.7 MB 1.3 MB/s eta 0:00:01
   ------------------------------------ --- 11.6/12.7 MB 1.3 MB/s eta 0:00:01
   ------------------------------------ --- 11.7/12.7 MB 1.3 MB/s eta 0:00:01
   ------------------------------------- -- 11.8/12.7 MB 1.3 MB/s eta 0:00:01
   ------------------------------------- -- 11.9/12.7 MB 1.3 MB/s eta 0:00:01
   ------------------------------------- -- 12.0/12.7 MB 1.4 MB/s eta 0:00:01
   ------------------------------------- -- 12.1/12.7 MB 1.3 MB/s eta 0:00:01
   -------------------------------------- - 12.2/12.7 MB 1.3 MB/s eta 0:00:01
   -------------------------------------- - 12.3/12.7 MB 1.3 MB/s eta 0:00:01
   -------------------------------------- - 12.4/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.5/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.6/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.6/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.7/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.7/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.7/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.7/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.7/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------  12.7/12.7 MB 1.3 MB/s eta 0:00:01
   ---------------------------------------- 12.7/12.7 MB 1.3 MB/s eta 0:00:00
Downloading google_auth-2.37.0-py2.py3-none-any.whl (209 kB)
   ---------------------------------------- 0.0/209.8 kB ? eta -:--:--
   ----------------------- ---------------- 122.9/209.8 kB 3.5 MB/s eta 0:00:01
   ------------------------------------- -- 194.6/209.8 kB 2.9 MB/s eta 0:00:01
   ---------------------------------------- 209.8/209.8 kB 1.8 MB/s eta 0:00:00
Downloading google_auth_httplib2-0.2.0-py2.py3-none-any.whl (9.3 kB)
Downloading httplib2-0.22.0-py3-none-any.whl (96 kB)
   ---------------------------------------- 0.0/96.9 kB ? eta -:--:--
   ----------------------------- ---------- 71.7/96.9 kB 1.3 MB/s eta 0:00:01
   -------------------------------------- - 92.2/96.9 kB 1.3 MB/s eta 0:00:01
   ---------------------------------------- 96.9/96.9 kB 931.3 kB/s eta 0:00:00
Downloading google_cloud_storage-2.19.0-py2.py3-none-any.whl (131 kB)
   ---------------------------------------- 0.0/131.8 kB ? eta -:--:--
   ------------ --------------------------- 41.0/131.8 kB 1.9 MB/s eta 0:00:01
   ------------------ --------------------- 61.4/131.8 kB 1.7 MB/s eta 0:00:01
   ----------------------------- -------- 102.4/131.8 kB 845.5 kB/s eta 0:00:01
   ----------------------------------- -- 122.9/131.8 kB 798.9 kB/s eta 0:00:01
   -------------------------------------- 131.8/131.8 kB 706.7 kB/s eta 0:00:00
Downloading google_api_core-2.24.0-py3-none-any.whl (158 kB)
   ---------------------------------------- 0.0/158.6 kB ? eta -:--:--
   ---------- ---------------------------- 41.0/158.6 kB 960.0 kB/s eta 0:00:01
   ------------------------------------ --- 143.4/158.6 kB 1.7 MB/s eta 0:00:01
   ---------------------------------------- 158.6/158.6 kB 1.3 MB/s eta 0:00:00
Downloading google_cloud_core-2.4.1-py2.py3-none-any.whl (29 kB)
Downloading google_crc32c-1.6.0-cp312-cp312-win_amd64.whl (33 kB)
Downloading google_resumable_media-2.7.2-py2.py3-none-any.whl (81 kB)
   ---------------------------------------- 0.0/81.3 kB ? eta -:--:--
   ----------------------------------- ---- 71.7/81.3 kB 3.8 MB/s eta 0:00:01
   ---------------------------------------- 81.3/81.3 kB 1.5 MB/s eta 0:00:00
Downloading rsa-4.9-py3-none-any.whl (34 kB)
Downloading uritemplate-4.1.1-py2.py3-none-any.whl (10 kB)
Downloading googleapis_common_protos-1.66.0-py2.py3-none-any.whl (221 kB)
   ---------------------------------------- 0.0/221.7 kB ? eta -:--:--
   ------------ --------------------------- 71.7/221.7 kB ? eta -:--:--
   ------------ --------------------------- 71.7/221.7 kB ? eta -:--:--
   --------------------------------- ------ 184.3/221.7 kB 1.4 MB/s eta 0:00:01
   -------------------------------------- - 215.0/221.7 kB 1.3 MB/s eta 0:00:01
   ---------------------------------------- 221.7/221.7 kB 1.1 MB/s eta 0:00:00
Downloading proto_plus-1.25.0-py3-none-any.whl (50 kB)
   ---------------------------------------- 0.0/50.1 kB ? eta -:--:--
   -------- ------------------------------- 10.2/50.1 kB ? eta -:--:--
   ---------------------------------------- 50.1/50.1 kB 511.4 kB/s eta 0:00:00
Installing collected packages: uritemplate, rsa, proto-plus, httplib2, googleapis-common-protos, google-crc32c, google-resumable-media, google-auth, google-auth-httplib2, google-api-core, google-cloud-core, google-api-python-client, google-cloud-storage, earthengine-api
Successfully installed earthengine-api-1.4.3 google-api-core-2.24.0 google-api-python-client-2.156.0 google-auth-2.37.0 google-auth-httplib2-0.2.0 google-cloud-core-2.4.1 google-cloud-storage-2.19.0 google-crc32c-1.6.0 google-resumable-media-2.7.2 googleapis-common-protos-1.66.0 httplib2-0.22.0 proto-plus-1.25.0 rsa-4.9 uritemplate-4.1.1
Collecting geemapNote: you may need to restart the kernel to use updated packages.

  Downloading geemap-0.35.1-py2.py3-none-any.whl.metadata (12 kB)
Collecting bqplot (from geemap)
  Downloading bqplot-0.12.44-py2.py3-none-any.whl.metadata (6.4 kB)
Collecting colour (from geemap)
  Downloading colour-0.1.5-py2.py3-none-any.whl.metadata (18 kB)
Requirement already satisfied: earthengine-api>=1.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from geemap) (1.4.3)
Collecting eerepr>=0.0.4 (from geemap)
  Downloading eerepr-0.0.4-py3-none-any.whl.metadata (4.0 kB)
Requirement already satisfied: folium>=0.17.0 in c:\users\rodag\anaconda3\lib\site-packages (from geemap) (0.19.2)
Collecting geocoder (from geemap)
  Downloading geocoder-1.38.1-py2.py3-none-any.whl.metadata (14 kB)
Collecting ipyevents (from geemap)
  Downloading ipyevents-2.0.2-py3-none-any.whl.metadata (2.9 kB)
Collecting ipyfilechooser>=0.6.0 (from geemap)
  Downloading ipyfilechooser-0.6.0-py3-none-any.whl.metadata (6.4 kB)
Collecting ipyleaflet>=0.19.2 (from geemap)
  Downloading ipyleaflet-0.19.2-py3-none-any.whl.metadata (5.3 kB)
Collecting ipytree (from geemap)
  Downloading ipytree-0.2.2-py2.py3-none-any.whl.metadata (849 bytes)
Requirement already satisfied: matplotlib in c:\users\rodag\anaconda3\lib\site-packages (from geemap) (3.8.4)
Requirement already satisfied: numpy in c:\users\rodag\anaconda3\lib\site-packages (from geemap) (1.26.4)
Requirement already satisfied: pandas in c:\users\rodag\anaconda3\lib\site-packages (from geemap) (2.2.2)
Requirement already satisfied: plotly in c:\users\rodag\anaconda3\lib\site-packages (from geemap) (5.22.0)
Collecting pyperclip (from geemap)
  Downloading pyperclip-1.9.0.tar.gz (20 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting pyshp>=2.3.1 (from geemap)
  Downloading pyshp-2.3.1-py2.py3-none-any.whl.metadata (55 kB)
     ---------------------------------------- 0.0/56.0 kB ? eta -:--:--
     ---------------------------------------- 0.0/56.0 kB ? eta -:--:--
     ------- -------------------------------- 10.2/56.0 kB ? eta -:--:--
     -------------------- ----------------- 30.7/56.0 kB 435.7 kB/s eta 0:00:01
     -------------------- ----------------- 30.7/56.0 kB 435.7 kB/s eta 0:00:01
     ---------------------------------- --- 51.2/56.0 kB 327.7 kB/s eta 0:00:01
     -------------------------------------- 56.0/56.0 kB 265.9 kB/s eta 0:00:00
Collecting python-box (from geemap)
  Downloading python_box-7.3.0-cp312-cp312-win_amd64.whl.metadata (8.0 kB)
Collecting scooby (from geemap)
  Downloading scooby-0.10.0-py3-none-any.whl.metadata (15 kB)
Requirement already satisfied: google-cloud-storage in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api>=1.0.0->geemap) (2.19.0)
Requirement already satisfied: google-api-python-client>=1.12.1 in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api>=1.0.0->geemap) (2.156.0)
Requirement already satisfied: google-auth>=1.4.1 in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api>=1.0.0->geemap) (2.37.0)
Requirement already satisfied: google-auth-httplib2>=0.0.3 in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api>=1.0.0->geemap) (0.2.0)
Requirement already satisfied: httplib2<1dev,>=0.9.2 in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api>=1.0.0->geemap) (0.22.0)
Requirement already satisfied: requests in c:\users\rodag\anaconda3\lib\site-packages (from earthengine-api>=1.0.0->geemap) (2.32.2)
Requirement already satisfied: branca>=0.6.0 in c:\users\rodag\anaconda3\lib\site-packages (from folium>=0.17.0->geemap) (0.8.0)
Requirement already satisfied: jinja2>=2.9 in c:\users\rodag\anaconda3\lib\site-packages (from folium>=0.17.0->geemap) (3.1.4)
Requirement already satisfied: xyzservices in c:\users\rodag\anaconda3\lib\site-packages (from folium>=0.17.0->geemap) (2022.9.0)
Requirement already satisfied: ipywidgets in c:\users\rodag\anaconda3\lib\site-packages (from ipyfilechooser>=0.6.0->geemap) (7.8.1)
Collecting jupyter-leaflet<0.20,>=0.19 (from ipyleaflet>=0.19.2->geemap)
  Downloading jupyter_leaflet-0.19.2-py3-none-any.whl.metadata (2.4 kB)
Collecting traittypes<3,>=0.2.1 (from ipyleaflet>=0.19.2->geemap)
  Downloading traittypes-0.2.1-py2.py3-none-any.whl.metadata (1.0 kB)
Requirement already satisfied: traitlets>=4.3.0 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from bqplot->geemap) (5.14.3)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\users\rodag\anaconda3\lib\site-packages (from pandas->geemap) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in c:\users\rodag\anaconda3\lib\site-packages (from pandas->geemap) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in c:\users\rodag\anaconda3\lib\site-packages (from pandas->geemap) (2023.3)
Requirement already satisfied: click in c:\users\rodag\anaconda3\lib\site-packages (from geocoder->geemap) (8.1.7)
Collecting future (from geocoder->geemap)
  Downloading future-1.0.0-py3-none-any.whl.metadata (4.0 kB)
Collecting ratelim (from geocoder->geemap)
  Downloading ratelim-0.1.6-py2.py3-none-any.whl.metadata (1.4 kB)
Requirement already satisfied: six in c:\users\rodag\anaconda3\lib\site-packages (from geocoder->geemap) (1.16.0)
Requirement already satisfied: contourpy>=1.0.1 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (1.2.0)
Requirement already satisfied: cycler>=0.10 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (1.4.4)
Requirement already satisfied: packaging>=20.0 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (23.2)
Requirement already satisfied: pillow>=8 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (10.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in c:\users\rodag\anaconda3\lib\site-packages (from matplotlib->geemap) (3.0.9)
Requirement already satisfied: tenacity>=6.2.0 in c:\users\rodag\anaconda3\lib\site-packages (from plotly->geemap) (8.2.2)
Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5 in c:\users\rodag\anaconda3\lib\site-packages (from google-api-python-client>=1.12.1->earthengine-api>=1.0.0->geemap) (2.24.0)
Requirement already satisfied: uritemplate<5,>=3.0.1 in c:\users\rodag\anaconda3\lib\site-packages (from google-api-python-client>=1.12.1->earthengine-api>=1.0.0->geemap) (4.1.1)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from google-auth>=1.4.1->earthengine-api>=1.0.0->geemap) (5.3.3)
Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\users\rodag\anaconda3\lib\site-packages (from google-auth>=1.4.1->earthengine-api>=1.0.0->geemap) (0.2.8)
Requirement already satisfied: rsa<5,>=3.1.4 in c:\users\rodag\anaconda3\lib\site-packages (from google-auth>=1.4.1->earthengine-api>=1.0.0->geemap) (4.9)
Requirement already satisfied: comm>=0.1.3 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.2)
Requirement already satisfied: ipython-genutils~=0.2.0 in c:\users\rodag\anaconda3\lib\site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.0)
Requirement already satisfied: widgetsnbextension~=3.6.6 in c:\users\rodag\anaconda3\lib\site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (3.6.6)
Requirement already satisfied: ipython>=4.0.0 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (8.27.0)
Requirement already satisfied: jupyterlab-widgets<3,>=1.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.0.0)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\rodag\anaconda3\lib\site-packages (from jinja2>=2.9->folium>=0.17.0->geemap) (2.1.3)
Requirement already satisfied: colorama in c:\users\rodag\appdata\roaming\python\python312\site-packages (from click->geocoder->geemap) (0.4.6)
Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in c:\users\rodag\anaconda3\lib\site-packages (from google-cloud-storage->earthengine-api>=1.0.0->geemap) (2.4.1)
Requirement already satisfied: google-resumable-media>=2.7.2 in c:\users\rodag\anaconda3\lib\site-packages (from google-cloud-storage->earthengine-api>=1.0.0->geemap) (2.7.2)
Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in c:\users\rodag\anaconda3\lib\site-packages (from google-cloud-storage->earthengine-api>=1.0.0->geemap) (1.6.0)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api>=1.0.0->geemap) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api>=1.0.0->geemap) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api>=1.0.0->geemap) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\rodag\anaconda3\lib\site-packages (from requests->earthengine-api>=1.0.0->geemap) (2024.8.30)
Requirement already satisfied: decorator in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ratelim->geocoder->geemap) (5.1.1)
Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in c:\users\rodag\anaconda3\lib\site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=1.0.0->geemap) (1.66.0)
Requirement already satisfied: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0,>=3.19.5 in c:\users\rodag\anaconda3\lib\site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=1.0.0->geemap) (3.20.3)
Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.3 in c:\users\rodag\anaconda3\lib\site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5->google-api-python-client>=1.12.1->earthengine-api>=1.0.0->geemap) (1.25.0)
Requirement already satisfied: jedi>=0.16 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.19.1)
Requirement already satisfied: matplotlib-inline in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.7)
Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (3.0.47)
Requirement already satisfied: pygments>=2.4.0 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.18.0)
Requirement already satisfied: stack-data in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.6.3)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in c:\users\rodag\anaconda3\lib\site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.4.1->earthengine-api>=1.0.0->geemap) (0.4.8)
Requirement already satisfied: notebook>=4.4.1 in c:\users\rodag\anaconda3\lib\site-packages (from widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (7.0.8)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.8.4)
Requirement already satisfied: jupyter-server<3,>=2.4.0 in c:\users\rodag\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.14.1)
Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in c:\users\rodag\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.25.1)
Requirement already satisfied: jupyterlab<4.1,>=4.0.2 in c:\users\rodag\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.0.11)
Requirement already satisfied: notebook-shim<0.3,>=0.2 in c:\users\rodag\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.3)
Requirement already satisfied: tornado>=6.2.0 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.4.1)
Requirement already satisfied: wcwidth in c:\users\rodag\appdata\roaming\python\python312\site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.13)
Requirement already satisfied: executing>=1.2.0 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from stack-data->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.1.0)
Requirement already satisfied: asttokens>=2.1.0 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from stack-data->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.4.1)
Requirement already satisfied: pure-eval in c:\users\rodag\appdata\roaming\python\python312\site-packages (from stack-data->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.3)
Requirement already satisfied: anyio>=3.1.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.2.0)
Requirement already satisfied: argon2-cffi>=21.1 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (21.3.0)
Requirement already satisfied: jupyter-client>=7.4.4 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (8.6.2)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (5.7.2)
Requirement already satisfied: jupyter-events>=0.9.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.10.0)
Requirement already satisfied: jupyter-server-terminals>=0.4.4 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.4.4)
Requirement already satisfied: nbconvert>=6.4.4 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (7.10.0)
Requirement already satisfied: nbformat>=5.3.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (5.9.2)
Requirement already satisfied: overrides>=5.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (7.4.0)
Requirement already satisfied: prometheus-client>=0.9 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.14.1)
Requirement already satisfied: pywinpty>=2.0.1 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.0.10)
Requirement already satisfied: pyzmq>=24 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (26.2.0)
Requirement already satisfied: send2trash>=1.8.2 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.8.2)
Requirement already satisfied: terminado>=0.8.3 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.17.1)
Requirement already satisfied: websocket-client>=1.7 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.8.0)
Requirement already satisfied: async-lru>=1.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.0.4)
Requirement already satisfied: ipykernel in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.29.5)
Requirement already satisfied: jupyter-lsp>=2.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.2.0)
Requirement already satisfied: babel>=2.10 in c:\users\rodag\anaconda3\lib\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.11.0)
Requirement already satisfied: json5>=0.9.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.9.6)
Requirement already satisfied: jsonschema>=4.18.0 in c:\users\rodag\anaconda3\lib\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.19.2)
Requirement already satisfied: sniffio>=1.1 in c:\users\rodag\anaconda3\lib\site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.3.0)
Requirement already satisfied: argon2-cffi-bindings in c:\users\rodag\anaconda3\lib\site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (21.2.0)
Requirement already satisfied: attrs>=22.2.0 in c:\users\rodag\anaconda3\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in c:\users\rodag\anaconda3\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in c:\users\rodag\anaconda3\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in c:\users\rodag\anaconda3\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.10.6)
Requirement already satisfied: platformdirs>=2.5 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.3.2)
Requirement already satisfied: pywin32>=300 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (306)
Requirement already satisfied: python-json-logger>=2.0.4 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.0.1)
Requirement already satisfied: rfc3339-validator in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in c:\users\rodag\anaconda3\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.1)
Requirement already satisfied: beautifulsoup4 in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.12.3)
Requirement already satisfied: bleach!=5.0.0 in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.1.0)
Requirement already satisfied: defusedxml in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.2)
Requirement already satisfied: mistune<4,>=2.0.3 in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.0.4)
Requirement already satisfied: nbclient>=0.5.0 in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.8.0)
Requirement already satisfied: pandocfilters>=1.4.1 in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.5.0)
Requirement already satisfied: tinycss2 in c:\users\rodag\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.2.1)
Requirement already satisfied: fastjsonschema in c:\users\rodag\anaconda3\lib\site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.16.2)
Requirement already satisfied: debugpy>=1.6.5 in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.8.5)
Requirement already satisfied: nest-asyncio in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.6.0)
Requirement already satisfied: psutil in c:\users\rodag\appdata\roaming\python\python312\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.0.0)
Requirement already satisfied: webencodings in c:\users\rodag\anaconda3\lib\site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.5.1)
Collecting fqdn (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap)
  Downloading fqdn-1.5.1-py3-none-any.whl.metadata (1.4 kB)
Collecting isoduration (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap)
  Downloading isoduration-20.11.0-py3-none-any.whl.metadata (5.7 kB)
Requirement already satisfied: jsonpointer>1.13 in c:\users\rodag\anaconda3\lib\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.1)
Collecting uri-template (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap)
  Downloading uri_template-1.3.0-py3-none-any.whl.metadata (8.8 kB)
Collecting webcolors>=1.11 (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap)
  Downloading webcolors-24.11.1-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: cffi>=1.0.1 in c:\users\rodag\anaconda3\lib\site-packages (from argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.16.0)
Requirement already satisfied: soupsieve>1.2 in c:\users\rodag\anaconda3\lib\site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.5)
Requirement already satisfied: pycparser in c:\users\rodag\anaconda3\lib\site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.21)
Requirement already satisfied: arrow>=0.15.0 in c:\users\rodag\anaconda3\lib\site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.2.3)
Downloading geemap-0.35.1-py2.py3-none-any.whl (2.3 MB)
   ---------------------------------------- 0.0/2.3 MB ? eta -:--:--
   ---------------------------------------- 0.0/2.3 MB ? eta -:--:--
    --------------------------------------- 0.0/2.3 MB 495.5 kB/s eta 0:00:05
   - -------------------------------------- 0.1/2.3 MB 770.8 kB/s eta 0:00:03
   - -------------------------------------- 0.1/2.3 MB 656.4 kB/s eta 0:00:04
   -- ------------------------------------- 0.1/2.3 MB 655.8 kB/s eta 0:00:04
   --- ------------------------------------ 0.2/2.3 MB 700.2 kB/s eta 0:00:03
   --- ------------------------------------ 0.2/2.3 MB 724.0 kB/s eta 0:00:03
   ---- ----------------------------------- 0.2/2.3 MB 754.9 kB/s eta 0:00:03
   ----- ---------------------------------- 0.3/2.3 MB 761.4 kB/s eta 0:00:03
   ----- ---------------------------------- 0.3/2.3 MB 749.8 kB/s eta 0:00:03
   ------ --------------------------------- 0.4/2.3 MB 740.5 kB/s eta 0:00:03
   ------ --------------------------------- 0.4/2.3 MB 757.8 kB/s eta 0:00:03
   ------- -------------------------------- 0.4/2.3 MB 728.8 kB/s eta 0:00:03
   ------- -------------------------------- 0.5/2.3 MB 704.5 kB/s eta 0:00:03
   -------- ------------------------------- 0.5/2.3 MB 702.4 kB/s eta 0:00:03
   -------- ------------------------------- 0.5/2.3 MB 684.6 kB/s eta 0:00:03
   --------- ------------------------------ 0.5/2.3 MB 682.7 kB/s eta 0:00:03
   --------- ------------------------------ 0.5/2.3 MB 682.7 kB/s eta 0:00:03
   ---------- ----------------------------- 0.6/2.3 MB 655.6 kB/s eta 0:00:03
   ---------- ----------------------------- 0.6/2.3 MB 632.9 kB/s eta 0:00:03
   ---------- ----------------------------- 0.6/2.3 MB 623.2 kB/s eta 0:00:03
   ---------- ----------------------------- 0.6/2.3 MB 604.2 kB/s eta 0:00:03
   ----------- ---------------------------- 0.7/2.3 MB 616.2 kB/s eta 0:00:03
   ------------ --------------------------- 0.7/2.3 MB 609.4 kB/s eta 0:00:03
   ------------ --------------------------- 0.7/2.3 MB 601.8 kB/s eta 0:00:03
   ------------- -------------------------- 0.7/2.3 MB 612.5 kB/s eta 0:00:03
   ------------- -------------------------- 0.7/2.3 MB 605.3 kB/s eta 0:00:03
   ------------- -------------------------- 0.8/2.3 MB 599.5 kB/s eta 0:00:03
   -------------- ------------------------- 0.8/2.3 MB 609.2 kB/s eta 0:00:03
   -------------- ------------------------- 0.8/2.3 MB 602.8 kB/s eta 0:00:03
   --------------- ------------------------ 0.9/2.3 MB 597.7 kB/s eta 0:00:03
   --------------- ------------------------ 0.9/2.3 MB 613.1 kB/s eta 0:00:03
   ---------------- ----------------------- 0.9/2.3 MB 614.4 kB/s eta 0:00:03
   ---------------- ----------------------- 1.0/2.3 MB 609.7 kB/s eta 0:00:03
   ----------------- ---------------------- 1.0/2.3 MB 611.0 kB/s eta 0:00:03
   ----------------- ---------------------- 1.0/2.3 MB 600.2 kB/s eta 0:00:03
   ------------------ --------------------- 1.0/2.3 MB 606.3 kB/s eta 0:00:03
   ------------------ --------------------- 1.0/2.3 MB 602.0 kB/s eta 0:00:03
   ------------------ --------------------- 1.1/2.3 MB 597.6 kB/s eta 0:00:03
   ------------------ --------------------- 1.1/2.3 MB 582.6 kB/s eta 0:00:03
   ------------------- -------------------- 1.1/2.3 MB 574.3 kB/s eta 0:00:03
   ------------------- -------------------- 1.1/2.3 MB 565.7 kB/s eta 0:00:03
   -------------------- ------------------- 1.1/2.3 MB 572.9 kB/s eta 0:00:02
   -------------------- ------------------- 1.2/2.3 MB 564.7 kB/s eta 0:00:02
   -------------------- ------------------- 1.2/2.3 MB 557.7 kB/s eta 0:00:02
   -------------------- ------------------- 1.2/2.3 MB 554.2 kB/s eta 0:00:02
   --------------------- ------------------ 1.2/2.3 MB 551.6 kB/s eta 0:00:02
   --------------------- ------------------ 1.2/2.3 MB 553.1 kB/s eta 0:00:02
   --------------------- ------------------ 1.2/2.3 MB 546.1 kB/s eta 0:00:02
   ---------------------- ----------------- 1.3/2.3 MB 543.9 kB/s eta 0:00:02
   ---------------------- ----------------- 1.3/2.3 MB 537.6 kB/s eta 0:00:02
   ---------------------- ----------------- 1.3/2.3 MB 538.9 kB/s eta 0:00:02
   ----------------------- ---------------- 1.3/2.3 MB 536.9 kB/s eta 0:00:02
   ----------------------- ---------------- 1.3/2.3 MB 527.7 kB/s eta 0:00:02
   ----------------------- ---------------- 1.3/2.3 MB 526.0 kB/s eta 0:00:02
   ----------------------- ---------------- 1.4/2.3 MB 520.3 kB/s eta 0:00:02
   ------------------------ --------------- 1.4/2.3 MB 518.8 kB/s eta 0:00:02
   ------------------------ --------------- 1.4/2.3 MB 514.5 kB/s eta 0:00:02
   ------------------------ --------------- 1.4/2.3 MB 514.5 kB/s eta 0:00:02
   ------------------------ --------------- 1.4/2.3 MB 506.4 kB/s eta 0:00:02
   ------------------------- -------------- 1.4/2.3 MB 499.7 kB/s eta 0:00:02
   ------------------------- -------------- 1.4/2.3 MB 499.7 kB/s eta 0:00:02
   ------------------------- -------------- 1.4/2.3 MB 495.1 kB/s eta 0:00:02
   ------------------------- -------------- 1.5/2.3 MB 491.6 kB/s eta 0:00:02
   -------------------------- ------------- 1.5/2.3 MB 490.7 kB/s eta 0:00:02
   -------------------------- ------------- 1.5/2.3 MB 489.1 kB/s eta 0:00:02
   -------------------------- ------------- 1.5/2.3 MB 485.7 kB/s eta 0:00:02
   --------------------------- ------------ 1.5/2.3 MB 485.9 kB/s eta 0:00:02
   --------------------------- ------------ 1.6/2.3 MB 487.5 kB/s eta 0:00:02
   --------------------------- ------------ 1.6/2.3 MB 483.7 kB/s eta 0:00:02
   ---------------------------- ----------- 1.6/2.3 MB 483.8 kB/s eta 0:00:02
   ---------------------------- ----------- 1.6/2.3 MB 487.0 kB/s eta 0:00:02
   ----------------------------- ---------- 1.6/2.3 MB 485.5 kB/s eta 0:00:02
   ----------------------------- ---------- 1.7/2.3 MB 485.6 kB/s eta 0:00:02
   ----------------------------- ---------- 1.7/2.3 MB 489.3 kB/s eta 0:00:02
   ------------------------------ --------- 1.7/2.3 MB 486.5 kB/s eta 0:00:02
   ------------------------------ --------- 1.7/2.3 MB 487.2 kB/s eta 0:00:02
   ------------------------------- -------- 1.8/2.3 MB 483.0 kB/s eta 0:00:02
   ------------------------------- -------- 1.8/2.3 MB 484.6 kB/s eta 0:00:02
   ------------------------------- -------- 1.8/2.3 MB 483.9 kB/s eta 0:00:01
   -------------------------------- ------- 1.8/2.3 MB 486.1 kB/s eta 0:00:01
   -------------------------------- ------- 1.8/2.3 MB 484.8 kB/s eta 0:00:01
   --------------------------------- ------ 1.9/2.3 MB 487.6 kB/s eta 0:00:01
   --------------------------------- ------ 1.9/2.3 MB 484.4 kB/s eta 0:00:01
   --------------------------------- ------ 1.9/2.3 MB 488.2 kB/s eta 0:00:01
   --------------------------------- ------ 1.9/2.3 MB 488.2 kB/s eta 0:00:01
   ---------------------------------- ----- 2.0/2.3 MB 489.0 kB/s eta 0:00:01
   ----------------------------------- ---- 2.0/2.3 MB 487.1 kB/s eta 0:00:01
   ----------------------------------- ---- 2.0/2.3 MB 486.0 kB/s eta 0:00:01
   ------------------------------------ --- 2.0/2.3 MB 488.4 kB/s eta 0:00:01
   ------------------------------------ --- 2.1/2.3 MB 485.5 kB/s eta 0:00:01
   ------------------------------------ --- 2.1/2.3 MB 485.0 kB/s eta 0:00:01
   ------------------------------------ --- 2.1/2.3 MB 482.1 kB/s eta 0:00:01
   ------------------------------------- -- 2.1/2.3 MB 481.6 kB/s eta 0:00:01
   ------------------------------------- -- 2.1/2.3 MB 482.8 kB/s eta 0:00:01
   ------------------------------------- -- 2.1/2.3 MB 480.0 kB/s eta 0:00:01
   -------------------------------------- - 2.2/2.3 MB 481.3 kB/s eta 0:00:01
   -------------------------------------- - 2.2/2.3 MB 481.3 kB/s eta 0:00:01
   -------------------------------------- - 2.2/2.3 MB 476.4 kB/s eta 0:00:01
   -------------------------------------- - 2.2/2.3 MB 476.4 kB/s eta 0:00:01
   ---------------------------------------  2.2/2.3 MB 472.9 kB/s eta 0:00:01
   ---------------------------------------  2.2/2.3 MB 470.3 kB/s eta 0:00:01
   ---------------------------------------  2.2/2.3 MB 470.0 kB/s eta 0:00:01
   ---------------------------------------  2.3/2.3 MB 468.2 kB/s eta 0:00:01
   ---------------------------------------  2.3/2.3 MB 468.2 kB/s eta 0:00:01
   ---------------------------------------  2.3/2.3 MB 468.2 kB/s eta 0:00:01
   ---------------------------------------- 2.3/2.3 MB 458.6 kB/s eta 0:00:00
Downloading eerepr-0.0.4-py3-none-any.whl (9.7 kB)
Downloading ipyfilechooser-0.6.0-py3-none-any.whl (11 kB)
Downloading ipyleaflet-0.19.2-py3-none-any.whl (31 kB)
Downloading pyshp-2.3.1-py2.py3-none-any.whl (46 kB)
   ---------------------------------------- 0.0/46.5 kB ? eta -:--:--
   -------- ------------------------------- 10.2/46.5 kB ? eta -:--:--
   ----------------------------------- ---- 41.0/46.5 kB 487.6 kB/s eta 0:00:01
   ---------------------------------------- 46.5/46.5 kB 465.3 kB/s eta 0:00:00
Downloading bqplot-0.12.44-py2.py3-none-any.whl (1.2 MB)
   ---------------------------------------- 0.0/1.2 MB ? eta -:--:--
   ---------------------------------------- 0.0/1.2 MB ? eta -:--:--
    --------------------------------------- 0.0/1.2 MB 660.6 kB/s eta 0:00:02
   - -------------------------------------- 0.1/1.2 MB 525.1 kB/s eta 0:00:03
   - -------------------------------------- 0.1/1.2 MB 525.1 kB/s eta 0:00:03
   - -------------------------------------- 0.1/1.2 MB 297.7 kB/s eta 0:00:04
   - -------------------------------------- 0.1/1.2 MB 297.7 kB/s eta 0:00:04
   - -------------------------------------- 0.1/1.2 MB 297.7 kB/s eta 0:00:04
   - -------------------------------------- 0.1/1.2 MB 297.7 kB/s eta 0:00:04
   - -------------------------------------- 0.1/1.2 MB 297.7 kB/s eta 0:00:04
   -- ------------------------------------- 0.1/1.2 MB 183.3 kB/s eta 0:00:07
   -- ------------------------------------- 0.1/1.2 MB 183.3 kB/s eta 0:00:07
   -- ------------------------------------- 0.1/1.2 MB 168.9 kB/s eta 0:00:07
   -- ------------------------------------- 0.1/1.2 MB 168.9 kB/s eta 0:00:07
   --- ------------------------------------ 0.1/1.2 MB 163.8 kB/s eta 0:00:07
   --- ------------------------------------ 0.1/1.2 MB 163.8 kB/s eta 0:00:07
   --- ------------------------------------ 0.1/1.2 MB 160.2 kB/s eta 0:00:07
   --- ------------------------------------ 0.1/1.2 MB 160.2 kB/s eta 0:00:07
   --- ------------------------------------ 0.1/1.2 MB 160.2 kB/s eta 0:00:07
   ---- ----------------------------------- 0.1/1.2 MB 157.7 kB/s eta 0:00:07
   ---- ----------------------------------- 0.1/1.2 MB 157.7 kB/s eta 0:00:07
   ---- ----------------------------------- 0.1/1.2 MB 157.7 kB/s eta 0:00:07
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ---- ----------------------------------- 0.2/1.2 MB 150.4 kB/s eta 0:00:08
   ----- ---------------------------------- 0.2/1.2 MB 124.8 kB/s eta 0:00:09
   ----- ---------------------------------- 0.2/1.2 MB 124.8 kB/s eta 0:00:09
   ----- ---------------------------------- 0.2/1.2 MB 124.8 kB/s eta 0:00:09
   ----- ---------------------------------- 0.2/1.2 MB 124.8 kB/s eta 0:00:09
   ------ --------------------------------- 0.2/1.2 MB 124.1 kB/s eta 0:00:09
   ------ --------------------------------- 0.2/1.2 MB 124.1 kB/s eta 0:00:09
   ------ --------------------------------- 0.2/1.2 MB 124.1 kB/s eta 0:00:09
   ------ --------------------------------- 0.2/1.2 MB 119.7 kB/s eta 0:00:09
   ------ --------------------------------- 0.2/1.2 MB 119.7 kB/s eta 0:00:09
   ------- -------------------------------- 0.2/1.2 MB 123.9 kB/s eta 0:00:09
   ------- -------------------------------- 0.2/1.2 MB 123.9 kB/s eta 0:00:09
   ------- -------------------------------- 0.2/1.2 MB 125.4 kB/s eta 0:00:08
   -------- ------------------------------- 0.3/1.2 MB 132.1 kB/s eta 0:00:08
   -------- ------------------------------- 0.3/1.2 MB 132.1 kB/s eta 0:00:08
   --------- ------------------------------ 0.3/1.2 MB 140.4 kB/s eta 0:00:07
   --------- ------------------------------ 0.3/1.2 MB 147.3 kB/s eta 0:00:07
   ---------- ----------------------------- 0.3/1.2 MB 150.1 kB/s eta 0:00:07
   ----------- ---------------------------- 0.4/1.2 MB 165.0 kB/s eta 0:00:06
   ----------- ---------------------------- 0.4/1.2 MB 167.4 kB/s eta 0:00:06
   ------------ --------------------------- 0.4/1.2 MB 176.6 kB/s eta 0:00:05
   ------------- -------------------------- 0.4/1.2 MB 183.3 kB/s eta 0:00:05
   -------------- ------------------------- 0.4/1.2 MB 189.8 kB/s eta 0:00:05
   --------------- ------------------------ 0.5/1.2 MB 196.6 kB/s eta 0:00:04
   --------------- ------------------------ 0.5/1.2 MB 199.6 kB/s eta 0:00:04
   ---------------- ----------------------- 0.5/1.2 MB 212.8 kB/s eta 0:00:04
   ----------------- ---------------------- 0.6/1.2 MB 219.8 kB/s eta 0:00:04
   ------------------ --------------------- 0.6/1.2 MB 227.9 kB/s eta 0:00:03
   ------------------ --------------------- 0.6/1.2 MB 227.9 kB/s eta 0:00:03
   ------------------- -------------------- 0.6/1.2 MB 234.4 kB/s eta 0:00:03
   -------------------- ------------------- 0.6/1.2 MB 236.5 kB/s eta 0:00:03
   -------------------- ------------------- 0.6/1.2 MB 237.6 kB/s eta 0:00:03
   --------------------- ------------------ 0.7/1.2 MB 239.6 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 241.6 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 241.6 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 239.9 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 241.8 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 242.7 kB/s eta 0:00:03
   ------------------------ --------------- 0.8/1.2 MB 250.0 kB/s eta 0:00:02
   ------------------------- -------------- 0.8/1.2 MB 250.7 kB/s eta 0:00:02
   ------------------------- -------------- 0.8/1.2 MB 254.8 kB/s eta 0:00:02
   -------------------------- ------------- 0.8/1.2 MB 259.6 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 263.4 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 266.5 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 268.4 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 270.8 kB/s eta 0:00:02
   ------------------------------ --------- 0.9/1.2 MB 273.1 kB/s eta 0:00:02
   ------------------------------ --------- 0.9/1.2 MB 273.6 kB/s eta 0:00:02
   ------------------------------- -------- 1.0/1.2 MB 275.8 kB/s eta 0:00:01
   ------------------------------- -------- 1.0/1.2 MB 275.0 kB/s eta 0:00:01
   -------------------------------- ------- 1.0/1.2 MB 280.5 kB/s eta 0:00:01
   --------------------------------- ------ 1.0/1.2 MB 285.3 kB/s eta 0:00:01
   ---------------------------------- ----- 1.1/1.2 MB 285.7 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.2 MB 290.6 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.2 MB 292.2 kB/s eta 0:00:01
   ------------------------------------ --- 1.1/1.2 MB 295.4 kB/s eta 0:00:01
   ------------------------------------- -- 1.2/1.2 MB 297.1 kB/s eta 0:00:01
   -------------------------------------- - 1.2/1.2 MB 301.5 kB/s eta 0:00:01
   ---------------------------------------  1.2/1.2 MB 305.7 kB/s eta 0:00:01
   ---------------------------------------  1.2/1.2 MB 307.0 kB/s eta 0:00:01
   ---------------------------------------- 1.2/1.2 MB 304.4 kB/s eta 0:00:00
Downloading colour-0.1.5-py2.py3-none-any.whl (23 kB)
Downloading geocoder-1.38.1-py2.py3-none-any.whl (98 kB)
   ---------------------------------------- 0.0/98.6 kB ? eta -:--:--
   ---- ----------------------------------- 10.2/98.6 kB ? eta -:--:--
   ---------------- ----------------------- 41.0/98.6 kB 487.6 kB/s eta 0:00:01
   ----------------------------- ---------- 71.7/98.6 kB 787.7 kB/s eta 0:00:01
   ------------------------------------- -- 92.2/98.6 kB 581.0 kB/s eta 0:00:01
   ---------------------------------------- 98.6/98.6 kB 513.7 kB/s eta 0:00:00
Downloading ipyevents-2.0.2-py3-none-any.whl (101 kB)
   ---------------------------------------- 0.0/101.8 kB ? eta -:--:--
   ---- ----------------------------------- 10.2/101.8 kB ? eta -:--:--
   --------------- ----------------------- 41.0/101.8 kB 991.0 kB/s eta 0:00:01
   ----------------------- --------------- 61.4/101.8 kB 656.4 kB/s eta 0:00:01
   ------------------------------- ------- 81.9/101.8 kB 573.4 kB/s eta 0:00:01
   ----------------------------------- --- 92.2/101.8 kB 476.3 kB/s eta 0:00:01
   -------------------------------------- 101.8/101.8 kB 451.0 kB/s eta 0:00:00
Downloading ipytree-0.2.2-py2.py3-none-any.whl (1.3 MB)
   ---------------------------------------- 0.0/1.3 MB ? eta -:--:--
   ---------------------------------------- 0.0/1.3 MB ? eta -:--:--
    --------------------------------------- 0.0/1.3 MB 435.7 kB/s eta 0:00:03
   - -------------------------------------- 0.0/1.3 MB 326.8 kB/s eta 0:00:04
   - -------------------------------------- 0.1/1.3 MB 409.6 kB/s eta 0:00:03
   -- ------------------------------------- 0.1/1.3 MB 459.5 kB/s eta 0:00:03
   --- ------------------------------------ 0.1/1.3 MB 467.6 kB/s eta 0:00:03
   ---- ----------------------------------- 0.1/1.3 MB 502.3 kB/s eta 0:00:03
   ----- ---------------------------------- 0.2/1.3 MB 492.3 kB/s eta 0:00:03
   ----- ---------------------------------- 0.2/1.3 MB 436.9 kB/s eta 0:00:03
   ------ --------------------------------- 0.2/1.3 MB 461.0 kB/s eta 0:00:03
   ------- -------------------------------- 0.2/1.3 MB 492.1 kB/s eta 0:00:03
   ------- -------------------------------- 0.3/1.3 MB 491.5 kB/s eta 0:00:03
   -------- ------------------------------- 0.3/1.3 MB 486.7 kB/s eta 0:00:03
   -------- ------------------------------- 0.3/1.3 MB 465.5 kB/s eta 0:00:03
   --------- ------------------------------ 0.3/1.3 MB 475.1 kB/s eta 0:00:03
   ---------- ----------------------------- 0.3/1.3 MB 477.0 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.3 MB 484.2 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.3 MB 458.9 kB/s eta 0:00:02
   ------------ --------------------------- 0.4/1.3 MB 475.4 kB/s eta 0:00:02
   ------------ --------------------------- 0.4/1.3 MB 456.4 kB/s eta 0:00:02
   ------------ --------------------------- 0.4/1.3 MB 456.4 kB/s eta 0:00:02
   ------------- -------------------------- 0.4/1.3 MB 437.1 kB/s eta 0:00:02
   ------------- -------------------------- 0.4/1.3 MB 437.1 kB/s eta 0:00:02
   -------------- ------------------------- 0.5/1.3 MB 427.1 kB/s eta 0:00:02
   -------------- ------------------------- 0.5/1.3 MB 421.2 kB/s eta 0:00:02
   --------------- ------------------------ 0.5/1.3 MB 422.2 kB/s eta 0:00:02
   --------------- ------------------------ 0.5/1.3 MB 414.1 kB/s eta 0:00:02
   ---------------- ----------------------- 0.5/1.3 MB 409.6 kB/s eta 0:00:02
   ---------------- ----------------------- 0.5/1.3 MB 402.7 kB/s eta 0:00:02
   ----------------- ---------------------- 0.6/1.3 MB 403.8 kB/s eta 0:00:02
   ----------------- ---------------------- 0.6/1.3 MB 403.8 kB/s eta 0:00:02
   ------------------ --------------------- 0.6/1.3 MB 399.1 kB/s eta 0:00:02
   ------------------ --------------------- 0.6/1.3 MB 404.3 kB/s eta 0:00:02
   ------------------- -------------------- 0.6/1.3 MB 398.8 kB/s eta 0:00:02
   ------------------- -------------------- 0.6/1.3 MB 399.9 kB/s eta 0:00:02
   -------------------- ------------------- 0.7/1.3 MB 404.7 kB/s eta 0:00:02
   -------------------- ------------------- 0.7/1.3 MB 395.7 kB/s eta 0:00:02
   --------------------- ------------------ 0.7/1.3 MB 396.9 kB/s eta 0:00:02
   --------------------- ------------------ 0.7/1.3 MB 392.0 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.3 MB 396.7 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.3 MB 397.7 kB/s eta 0:00:02
   ----------------------- ---------------- 0.7/1.3 MB 390.1 kB/s eta 0:00:02
   ----------------------- ---------------- 0.8/1.3 MB 388.0 kB/s eta 0:00:02
   ------------------------ --------------- 0.8/1.3 MB 387.1 kB/s eta 0:00:02
   ------------------------ --------------- 0.8/1.3 MB 387.1 kB/s eta 0:00:02
   ------------------------ --------------- 0.8/1.3 MB 382.4 kB/s eta 0:00:02
   ------------------------- -------------- 0.8/1.3 MB 383.6 kB/s eta 0:00:02
   ------------------------- -------------- 0.8/1.3 MB 377.2 kB/s eta 0:00:02
   -------------------------- ------------- 0.8/1.3 MB 378.4 kB/s eta 0:00:02
   -------------------------- ------------- 0.8/1.3 MB 378.4 kB/s eta 0:00:02
   --------------------------- ------------ 0.9/1.3 MB 373.9 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.3 MB 377.7 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.3 MB 374.5 kB/s eta 0:00:01
   ----------------------------- ---------- 0.9/1.3 MB 378.2 kB/s eta 0:00:01
   ----------------------------- ---------- 0.9/1.3 MB 377.4 kB/s eta 0:00:01
   ----------------------------- ---------- 1.0/1.3 MB 378.7 kB/s eta 0:00:01
   ------------------------------ --------- 1.0/1.3 MB 379.7 kB/s eta 0:00:01
   ------------------------------- -------- 1.0/1.3 MB 384.6 kB/s eta 0:00:01
   -------------------------------- ------- 1.0/1.3 MB 384.9 kB/s eta 0:00:01
   -------------------------------- ------- 1.0/1.3 MB 384.9 kB/s eta 0:00:01
   --------------------------------- ------ 1.1/1.3 MB 385.2 kB/s eta 0:00:01
   ---------------------------------- ----- 1.1/1.3 MB 387.4 kB/s eta 0:00:01
   ---------------------------------- ----- 1.1/1.3 MB 387.4 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.3 MB 382.0 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.3 MB 382.8 kB/s eta 0:00:01
   ------------------------------------ --- 1.2/1.3 MB 380.4 kB/s eta 0:00:01
   ------------------------------------ --- 1.2/1.3 MB 383.1 kB/s eta 0:00:01
   ------------------------------------ --- 1.2/1.3 MB 382.6 kB/s eta 0:00:01
   -------------------------------------- - 1.2/1.3 MB 386.1 kB/s eta 0:00:01
   -------------------------------------- - 1.2/1.3 MB 385.6 kB/s eta 0:00:01
   ---------------------------------------  1.3/1.3 MB 389.5 kB/s eta 0:00:01
   ---------------------------------------  1.3/1.3 MB 387.0 kB/s eta 0:00:01
   ---------------------------------------  1.3/1.3 MB 387.0 kB/s eta 0:00:01
   ---------------------------------------- 1.3/1.3 MB 381.2 kB/s eta 0:00:00
Downloading python_box-7.3.0-cp312-cp312-win_amd64.whl (1.2 MB)
   ---------------------------------------- 0.0/1.2 MB ? eta -:--:--
   - -------------------------------------- 0.0/1.2 MB 1.4 MB/s eta 0:00:01
   - -------------------------------------- 0.0/1.2 MB 667.8 kB/s eta 0:00:02
   -- ------------------------------------- 0.1/1.2 MB 657.6 kB/s eta 0:00:02
   --- ------------------------------------ 0.1/1.2 MB 658.3 kB/s eta 0:00:02
   ---- ----------------------------------- 0.1/1.2 MB 563.7 kB/s eta 0:00:02
   ----- ---------------------------------- 0.2/1.2 MB 656.4 kB/s eta 0:00:02
   ------ --------------------------------- 0.2/1.2 MB 590.8 kB/s eta 0:00:02
   ------- -------------------------------- 0.2/1.2 MB 597.1 kB/s eta 0:00:02
   ------- -------------------------------- 0.2/1.2 MB 577.6 kB/s eta 0:00:02
   -------- ------------------------------- 0.2/1.2 MB 538.9 kB/s eta 0:00:02
   -------- ------------------------------- 0.3/1.2 MB 528.9 kB/s eta 0:00:02
   --------- ------------------------------ 0.3/1.2 MB 540.0 kB/s eta 0:00:02
   ---------- ----------------------------- 0.3/1.2 MB 546.6 kB/s eta 0:00:02
   ---------- ----------------------------- 0.3/1.2 MB 507.9 kB/s eta 0:00:02
   ---------- ----------------------------- 0.3/1.2 MB 507.9 kB/s eta 0:00:02
   ----------- ---------------------------- 0.3/1.2 MB 491.9 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.2 MB 455.1 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.2 MB 455.1 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.2 MB 455.1 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.2 MB 455.1 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.2 MB 455.1 kB/s eta 0:00:02
   ----------- ---------------------------- 0.4/1.2 MB 455.1 kB/s eta 0:00:02
   ------------- -------------------------- 0.4/1.2 MB 383.4 kB/s eta 0:00:03
   ------------- -------------------------- 0.4/1.2 MB 370.5 kB/s eta 0:00:03
   ------------- -------------------------- 0.4/1.2 MB 370.5 kB/s eta 0:00:03
   -------------- ------------------------- 0.4/1.2 MB 363.2 kB/s eta 0:00:03
   -------------- ------------------------- 0.4/1.2 MB 348.5 kB/s eta 0:00:03
   -------------- ------------------------- 0.4/1.2 MB 348.5 kB/s eta 0:00:03
   --------------- ------------------------ 0.5/1.2 MB 343.4 kB/s eta 0:00:03
   --------------- ------------------------ 0.5/1.2 MB 338.9 kB/s eta 0:00:03
   --------------- ------------------------ 0.5/1.2 MB 338.9 kB/s eta 0:00:03
   ---------------- ----------------------- 0.5/1.2 MB 324.3 kB/s eta 0:00:03
   ---------------- ----------------------- 0.5/1.2 MB 324.3 kB/s eta 0:00:03
   ----------------- ---------------------- 0.5/1.2 MB 321.2 kB/s eta 0:00:03
   ----------------- ---------------------- 0.5/1.2 MB 321.2 kB/s eta 0:00:03
   ----------------- ---------------------- 0.5/1.2 MB 312.2 kB/s eta 0:00:03
   ----------------- ---------------------- 0.5/1.2 MB 312.2 kB/s eta 0:00:03
   ------------------ --------------------- 0.5/1.2 MB 309.9 kB/s eta 0:00:03
   ------------------ --------------------- 0.5/1.2 MB 309.9 kB/s eta 0:00:03
   ------------------ --------------------- 0.5/1.2 MB 309.9 kB/s eta 0:00:03
   ------------------ --------------------- 0.6/1.2 MB 294.9 kB/s eta 0:00:03
   ------------------- -------------------- 0.6/1.2 MB 298.0 kB/s eta 0:00:03
   ------------------- -------------------- 0.6/1.2 MB 296.6 kB/s eta 0:00:03
   ------------------- -------------------- 0.6/1.2 MB 296.6 kB/s eta 0:00:03
   -------------------- ------------------- 0.6/1.2 MB 285.8 kB/s eta 0:00:03
   -------------------- ------------------- 0.6/1.2 MB 285.8 kB/s eta 0:00:03
   -------------------- ------------------- 0.6/1.2 MB 285.0 kB/s eta 0:00:03
   -------------------- ------------------- 0.6/1.2 MB 285.0 kB/s eta 0:00:03
   --------------------- ------------------ 0.6/1.2 MB 280.3 kB/s eta 0:00:02
   --------------------- ------------------ 0.6/1.2 MB 280.3 kB/s eta 0:00:02
   --------------------- ------------------ 0.7/1.2 MB 277.1 kB/s eta 0:00:02
   --------------------- ------------------ 0.7/1.2 MB 277.1 kB/s eta 0:00:02
   --------------------- ------------------ 0.7/1.2 MB 277.1 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.2 MB 268.0 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.2 MB 268.0 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.2 MB 268.0 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.2 MB 268.0 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.2 MB 268.0 kB/s eta 0:00:02
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ---------------------- ----------------- 0.7/1.2 MB 250.0 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 229.7 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 229.7 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 229.7 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 229.7 kB/s eta 0:00:03
   ----------------------- ---------------- 0.7/1.2 MB 229.7 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 219.5 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 219.5 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 219.5 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 219.5 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 219.5 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 219.5 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 203.2 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 203.2 kB/s eta 0:00:03
   ------------------------ --------------- 0.7/1.2 MB 203.2 kB/s eta 0:00:03
   ------------------------- -------------- 0.8/1.2 MB 201.9 kB/s eta 0:00:03
   ------------------------- -------------- 0.8/1.2 MB 201.9 kB/s eta 0:00:03
   ------------------------- -------------- 0.8/1.2 MB 201.9 kB/s eta 0:00:03
   ------------------------- -------------- 0.8/1.2 MB 201.9 kB/s eta 0:00:03
   ------------------------- -------------- 0.8/1.2 MB 196.4 kB/s eta 0:00:03
   -------------------------- ------------- 0.8/1.2 MB 198.5 kB/s eta 0:00:03
   -------------------------- ------------- 0.8/1.2 MB 198.5 kB/s eta 0:00:03
   -------------------------- ------------- 0.8/1.2 MB 199.7 kB/s eta 0:00:02
   -------------------------- ------------- 0.8/1.2 MB 199.7 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 195.4 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 200.3 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 200.3 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 200.3 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 200.3 kB/s eta 0:00:02
   --------------------------- ------------ 0.8/1.2 MB 200.3 kB/s eta 0:00:02
   ---------------------------- ----------- 0.8/1.2 MB 191.3 kB/s eta 0:00:02
   ---------------------------- ----------- 0.8/1.2 MB 191.3 kB/s eta 0:00:02
   ---------------------------- ----------- 0.8/1.2 MB 191.3 kB/s eta 0:00:02
   ---------------------------- ----------- 0.8/1.2 MB 191.3 kB/s eta 0:00:02
   ---------------------------- ----------- 0.8/1.2 MB 191.3 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 186.0 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 186.0 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 186.0 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 186.0 kB/s eta 0:00:02
   ---------------------------- ----------- 0.9/1.2 MB 186.0 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 180.6 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 180.6 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 180.6 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 180.6 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 180.6 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 176.0 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 176.0 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 176.0 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 176.0 kB/s eta 0:00:02
   ----------------------------- ---------- 0.9/1.2 MB 176.0 kB/s eta 0:00:02
   ------------------------------ --------- 0.9/1.2 MB 171.6 kB/s eta 0:00:02
   ------------------------------ --------- 0.9/1.2 MB 171.6 kB/s eta 0:00:02
   ------------------------------ --------- 0.9/1.2 MB 171.0 kB/s eta 0:00:02
   ------------------------------ --------- 0.9/1.2 MB 171.0 kB/s eta 0:00:02
   ------------------------------- -------- 1.0/1.2 MB 170.8 kB/s eta 0:00:02
   ------------------------------- -------- 1.0/1.2 MB 170.8 kB/s eta 0:00:02
   -------------------------------- ------- 1.0/1.2 MB 171.1 kB/s eta 0:00:02
   -------------------------------- ------- 1.0/1.2 MB 171.1 kB/s eta 0:00:02
   -------------------------------- ------- 1.0/1.2 MB 171.1 kB/s eta 0:00:02
   --------------------------------- ------ 1.0/1.2 MB 172.7 kB/s eta 0:00:02
   --------------------------------- ------ 1.0/1.2 MB 173.1 kB/s eta 0:00:02
   ---------------------------------- ----- 1.0/1.2 MB 175.3 kB/s eta 0:00:01
   ---------------------------------- ----- 1.0/1.2 MB 175.3 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.2 MB 176.4 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.2 MB 176.3 kB/s eta 0:00:01
   ----------------------------------- ---- 1.1/1.2 MB 176.3 kB/s eta 0:00:01
   ------------------------------------ --- 1.1/1.2 MB 177.8 kB/s eta 0:00:01
   ------------------------------------ --- 1.1/1.2 MB 177.7 kB/s eta 0:00:01
   ------------------------------------ --- 1.1/1.2 MB 177.7 kB/s eta 0:00:01
   ------------------------------------- -- 1.1/1.2 MB 177.4 kB/s eta 0:00:01
   ------------------------------------- -- 1.1/1.2 MB 180.7 kB/s eta 0:00:01
   ------------------------------------- -- 1.1/1.2 MB 180.7 kB/s eta 0:00:01
   -------------------------------------- - 1.1/1.2 MB 179.6 kB/s eta 0:00:01
   -------------------------------------- - 1.1/1.2 MB 179.6 kB/s eta 0:00:01
   -------------------------------------- - 1.2/1.2 MB 180.2 kB/s eta 0:00:01
   -------------------------------------- - 1.2/1.2 MB 180.2 kB/s eta 0:00:01
   ---------------------------------------  1.2/1.2 MB 179.2 kB/s eta 0:00:01
   ---------------------------------------  1.2/1.2 MB 180.6 kB/s eta 0:00:01
   ---------------------------------------- 1.2/1.2 MB 180.3 kB/s eta 0:00:00
Downloading scooby-0.10.0-py3-none-any.whl (18 kB)
Downloading jupyter_leaflet-0.19.2-py3-none-any.whl (1.1 MB)
   ---------------------------------------- 0.0/1.1 MB ? eta -:--:--
   ---------------------------------------- 0.0/1.1 MB ? eta -:--:--
   - -------------------------------------- 0.0/1.1 MB 435.7 kB/s eta 0:00:03
   - -------------------------------------- 0.0/1.1 MB 326.8 kB/s eta 0:00:04
   -- ------------------------------------- 0.1/1.1 MB 363.1 kB/s eta 0:00:03
   --- ------------------------------------ 0.1/1.1 MB 381.3 kB/s eta 0:00:03
   --- ------------------------------------ 0.1/1.1 MB 374.1 kB/s eta 0:00:03
   ---- ----------------------------------- 0.1/1.1 MB 409.6 kB/s eta 0:00:03
   ---- ----------------------------------- 0.1/1.1 MB 379.3 kB/s eta 0:00:03
   ------ --------------------------------- 0.2/1.1 MB 426.7 kB/s eta 0:00:03
   ------ --------------------------------- 0.2/1.1 MB 419.0 kB/s eta 0:00:03
   ------- -------------------------------- 0.2/1.1 MB 414.8 kB/s eta 0:00:03
   --------- ------------------------------ 0.2/1.1 MB 471.0 kB/s eta 0:00:02
   ---------- ----------------------------- 0.3/1.1 MB 472.9 kB/s eta 0:00:02
   ---------- ----------------------------- 0.3/1.1 MB 465.5 kB/s eta 0:00:02
   ------------ --------------------------- 0.3/1.1 MB 495.2 kB/s eta 0:00:02
   ------------ --------------------------- 0.3/1.1 MB 476.3 kB/s eta 0:00:02
   ------------- -------------------------- 0.4/1.1 MB 484.2 kB/s eta 0:00:02
   -------------- ------------------------- 0.4/1.1 MB 475.4 kB/s eta 0:00:02
   --------------- ------------------------ 0.4/1.1 MB 481.7 kB/s eta 0:00:02
   --------------- ------------------------ 0.4/1.1 MB 468.1 kB/s eta 0:00:02
   ---------------- ----------------------- 0.4/1.1 MB 458.5 kB/s eta 0:00:02
   ---------------- ----------------------- 0.5/1.1 MB 454.4 kB/s eta 0:00:02
   ----------------- ---------------------- 0.5/1.1 MB 467.8 kB/s eta 0:00:02
   ------------------ --------------------- 0.5/1.1 MB 459.7 kB/s eta 0:00:02
   ------------------ --------------------- 0.5/1.1 MB 459.7 kB/s eta 0:00:02
   ------------------ --------------------- 0.5/1.1 MB 436.9 kB/s eta 0:00:02
   ------------------- -------------------- 0.5/1.1 MB 431.0 kB/s eta 0:00:02
   ------------------- -------------------- 0.5/1.1 MB 431.0 kB/s eta 0:00:02
   ------------------- -------------------- 0.5/1.1 MB 412.5 kB/s eta 0:00:02
   -------------------- ------------------- 0.6/1.1 MB 403.8 kB/s eta 0:00:02
   --------------------- ------------------ 0.6/1.1 MB 404.9 kB/s eta 0:00:02
   --------------------- ------------------ 0.6/1.1 MB 398.8 kB/s eta 0:00:02
   --------------------- ------------------ 0.6/1.1 MB 398.8 kB/s eta 0:00:02
   ---------------------- ----------------- 0.6/1.1 MB 395.9 kB/s eta 0:00:02
   ----------------------- ---------------- 0.6/1.1 MB 395.6 kB/s eta 0:00:02
   ----------------------- ---------------- 0.6/1.1 MB 395.6 kB/s eta 0:00:02
   ------------------------ --------------- 0.7/1.1 MB 393.1 kB/s eta 0:00:02
   ------------------------ --------------- 0.7/1.1 MB 384.6 kB/s eta 0:00:02
   ------------------------- -------------- 0.7/1.1 MB 386.2 kB/s eta 0:00:02
   ------------------------- -------------- 0.7/1.1 MB 381.8 kB/s eta 0:00:01
   -------------------------- ------------- 0.7/1.1 MB 386.3 kB/s eta 0:00:01
   --------------------------- ------------ 0.7/1.1 MB 387.8 kB/s eta 0:00:01
   --------------------------- ------------ 0.7/1.1 MB 383.6 kB/s eta 0:00:01
   ---------------------------- ----------- 0.8/1.1 MB 381.7 kB/s eta 0:00:01
   ---------------------------- ----------- 0.8/1.1 MB 378.0 kB/s eta 0:00:01
   ----------------------------- ---------- 0.8/1.1 MB 379.3 kB/s eta 0:00:01
   ----------------------------- ---------- 0.8/1.1 MB 379.3 kB/s eta 0:00:01
   ------------------------------ --------- 0.8/1.1 MB 375.0 kB/s eta 0:00:01
   ------------------------------ --------- 0.8/1.1 MB 374.4 kB/s eta 0:00:01
   ------------------------------- -------- 0.8/1.1 MB 375.7 kB/s eta 0:00:01
   ------------------------------- -------- 0.9/1.1 MB 372.4 kB/s eta 0:00:01
   --------------------------------- ------ 0.9/1.1 MB 377.5 kB/s eta 0:00:01
   --------------------------------- ------ 0.9/1.1 MB 374.4 kB/s eta 0:00:01
   ---------------------------------- ----- 0.9/1.1 MB 378.0 kB/s eta 0:00:01
   ----------------------------------- ---- 0.9/1.1 MB 377.4 kB/s eta 0:00:01
   ------------------------------------ --- 1.0/1.1 MB 384.2 kB/s eta 0:00:01
   ------------------------------------ --- 1.0/1.1 MB 381.2 kB/s eta 0:00:01
   -------------------------------------- - 1.0/1.1 MB 388.4 kB/s eta 0:00:01
   ---------------------------------------  1.1/1.1 MB 392.4 kB/s eta 0:00:01
   ---------------------------------------  1.1/1.1 MB 391.7 kB/s eta 0:00:01
   ---------------------------------------- 1.1/1.1 MB 387.4 kB/s eta 0:00:00
Downloading traittypes-0.2.1-py2.py3-none-any.whl (8.6 kB)
Downloading future-1.0.0-py3-none-any.whl (491 kB)
   ---------------------------------------- 0.0/491.3 kB ? eta -:--:--
   -- ------------------------------------ 30.7/491.3 kB 660.6 kB/s eta 0:00:01
   ---- ---------------------------------- 61.4/491.3 kB 656.4 kB/s eta 0:00:01
   ----- --------------------------------- 71.7/491.3 kB 563.7 kB/s eta 0:00:01
   -------- ----------------------------- 112.6/491.3 kB 656.4 kB/s eta 0:00:01
   --------- ---------------------------- 122.9/491.3 kB 602.4 kB/s eta 0:00:01
   ------------- ------------------------ 174.1/491.3 kB 618.3 kB/s eta 0:00:01
   --------------- ---------------------- 194.6/491.3 kB 622.7 kB/s eta 0:00:01
   --------------- ---------------------- 204.8/491.3 kB 593.2 kB/s eta 0:00:01
   ------------------ ------------------- 235.5/491.3 kB 577.6 kB/s eta 0:00:01
   ------------------- ------------------ 256.0/491.3 kB 583.8 kB/s eta 0:00:01
   ---------------------- --------------- 286.7/491.3 kB 571.2 kB/s eta 0:00:01
   ----------------------- -------------- 307.2/491.3 kB 576.6 kB/s eta 0:00:01
   -------------------------- ----------- 337.9/491.3 kB 583.1 kB/s eta 0:00:01
   ------------------------------ ------- 389.1/491.3 kB 592.0 kB/s eta 0:00:01
   -------------------------------- ----- 419.8/491.3 kB 610.4 kB/s eta 0:00:01
   ---------------------------------- --- 450.6/491.3 kB 613.3 kB/s eta 0:00:01
   ------------------------------------ - 471.0/491.3 kB 614.4 kB/s eta 0:00:01
   -------------------------------------  481.3/491.3 kB 603.1 kB/s eta 0:00:01
   -------------------------------------- 491.3/491.3 kB 570.7 kB/s eta 0:00:00
Downloading ratelim-0.1.6-py2.py3-none-any.whl (4.0 kB)
Downloading webcolors-24.11.1-py3-none-any.whl (14 kB)
Downloading fqdn-1.5.1-py3-none-any.whl (9.1 kB)
Downloading isoduration-20.11.0-py3-none-any.whl (11 kB)
Downloading uri_template-1.3.0-py3-none-any.whl (11 kB)
Building wheels for collected packages: pyperclip
  Building wheel for pyperclip (setup.py): started
  Building wheel for pyperclip (setup.py): finished with status 'done'
  Created wheel for pyperclip: filename=pyperclip-1.9.0-py3-none-any.whl size=11020 sha256=2379aa71ff05f14d3fdb02a9280dbe9230e088ff095154ba1d08ffa38c250ffc
  Stored in directory: c:\users\rodag\appdata\local\pip\cache\wheels\e0\e8\fc\8ab8aa326e33bc066ccd5f3ca9646eab4299881af933f94f09
Successfully built pyperclip
Installing collected packages: pyperclip, colour, webcolors, uri-template, traittypes, scooby, ratelim, python-box, pyshp, jupyter-leaflet, future, fqdn, geocoder, isoduration, eerepr, ipytree, ipyleaflet, ipyfilechooser, ipyevents, bqplot, geemap
Successfully installed bqplot-0.12.44 colour-0.1.5 eerepr-0.0.4 fqdn-1.5.1 future-1.0.0 geemap-0.35.1 geocoder-1.38.1 ipyevents-2.0.2 ipyfilechooser-0.6.0 ipyleaflet-0.19.2 ipytree-0.2.2 isoduration-20.11.0 jupyter-leaflet-0.19.2 pyperclip-1.9.0 pyshp-2.3.1 python-box-7.3.0 ratelim-0.1.6 scooby-0.10.0 traittypes-0.2.1 uri-template-1.3.0 webcolors-24.11.1
In [3]:
ee.Initialize(project='ee-rodeaguilera')
In [4]:
# Coordenadas del evento y rango de fechas
latitude, longitude = -36.712300, -72.088200  # Coordenadas del evento 
start_date = '2019-06-01'
end_date = '2019-06-30'

# Crear un área de interés (buffer de 1 km)
aoi = ee.Geometry.Point([longitude, latitude]).buffer(1000).bounds()
In [5]:
# Colección Sentinel-2 (nivel L2A)
s2 = ee.ImageCollection('COPERNICUS/S2') \
    .filterBounds(aoi) \
    .filterDate(start_date, end_date) \
    .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 50))  # Menos del 50% de nubosidad

# Colección S2Cloudless
s2_cloudless = ee.ImageCollection('COPERNICUS/S2_CLOUD_PROBABILITY') \
    .filterBounds(aoi) \
    .filterDate(start_date, end_date)
c:\Users\rodag\anaconda3\Lib\site-packages\ee\deprecation.py:207: DeprecationWarning: 

Attention required for COPERNICUS/S2! You are using a deprecated asset.
To ensure continued functionality, please update it.
Learn more: https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2

  warnings.warn(warning, category=DeprecationWarning)
In [6]:
# Función para aplicar la máscara de nubes
def mask_clouds(image):
    cloud_prob = s2_cloudless.filter(ee.Filter.eq('system:index', image.get('system:index'))).first()
    mask = cloud_prob.lt(40)  # Umbral de probabilidad de nubes (ajustable)
    return image.updateMask(mask)
In [7]:
# Aplica la máscara de nubes
s2_masked = s2.map(mask_clouds)
In [8]:
# Crea una imagen compuesta
composite = s2_masked.median().clip(aoi)
In [11]:
import geemap

# Visualizar el resultado
Map = geemap.Map()
Map.addLayer(composite, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 3000}, 'Sentinel-2 sin Nubes')
Map.centerObject(aoi, 12)
Map
Map(center=[-36.71229809426488, -72.08818247642472], controls=(WidgetControl(options=['position', 'transparent…
In [10]:
nbr = composite.normalizedDifference(['B8', 'B12'])  # NIR y SWIR
Map.addLayer(nbr, {'min': -1, 'max': 1, 'palette': ['blue', 'white', 'green']}, 'NBR')
In [60]:
from sentinelhub import SHConfig, BBox, CRS, SentinelHubRequest, DataCollection, MimeType
import numpy as np
import rasterio
import matplotlib.pyplot as plt

# Configurar Sentinel-Hub API
config = SHConfig()
config.sh_client_id = 'b101d5fc-9363-46c7-b069-15ecfaed6b73'  # Reemplazar con tu client ID
config.sh_client_secret = 'CNXBeF1ZLLAsLoj4QlWta6giT2brnWRZ'  # Reemplazar con tu client secret

# Datos del primer evento en la Región del Biobío
latitude, longitude = -36.534888, -72.716864  # Coordenadas del evento
start_date = "2019-06-01"  # Fecha pre-evento
end_date = "2019-07-31"  # Fecha post-evento

# Definir el área de interés (1 km de buffer)
buffer = 0.02  # ~1 km en grados
bbox = BBox([longitude - buffer, latitude - buffer, longitude + buffer, latitude + buffer], CRS.WGS84)

# Configurar la solicitud de imágenes Sentinel-2
request = SentinelHubRequest(
    evalscript="""
        // Script para obtener las bandas NIR (B08) y SWIR (B11)
        // Se calculan ambas bandas como salida
        return [B08, B11];
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L1C,
            time_interval=(start_date, end_date)
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.TIFF)
    ],
    bbox=bbox,
    size=(512, 512),  # Resolución de salida
    config=config
)

# Obtener las imágenes
images = request.get_data()
print(f"Se obtuvieron {len(images)} imágenes.")

# Asegurarse de tener imágenes pre y post-evento
if len(images) < 2:
    print("No se encontraron imágenes pre o post-evento.")
else:
    # Separar imágenes pre y post-evento
    nir_pre = images[0][:, :, 0]  # Banda NIR pre-evento
    swir_pre = images[0][:, :, 1]  # Banda SWIR pre-evento

    nir_post = images[1][:, :, 0]  # Banda NIR post-evento
    swir_post = images[1][:, :, 1]  # Banda SWIR post-evento

    # Calcular NBR para pre y post-evento
    nbr_pre = (nir_pre - swir_pre) / (nir_pre + swir_pre)
    nbr_post = (nir_post - swir_post) / (nir_post + swir_post)

    # Calcular diferencia de NBR
    nbr_diff = nbr_pre - nbr_post

    # Visualizar la diferencia de NBR
    plt.imshow(nbr_diff, cmap='RdYlGn', vmin=-1, vmax=1)
    plt.colorbar()
    plt.title("Diferencia NBR (Pre vs Post)")
    plt.show()

    # Detectar áreas afectadas con un umbral
    threshold = -0.2
    affected_area_mask = nbr_diff < threshold

    # Calcular el área afectada en kilómetros cuadrados
    pixel_area_km2 = (10 * 10) / 1e6  # Cada píxel tiene un área de 100 m²
    affected_area_km2 = np.sum(affected_area_mask) * pixel_area_km2

    print(f"Área afectada estimada: {affected_area_km2:.2f} km²")
Se obtuvieron 1 imágenes.
No se encontraron imágenes pre o post-evento.

📊 Resumen del Análisis Exploratorio Actual¶

1. Carga de Datos¶

  • Se cargó correctamente el archivo catastro.xlsx.
  • Contiene 2880 registros y 19 columnas.

2. Información del DataFrame¶

  • Datos Completos:
    • Todas las columnas tienen datos completos, excepto Autor de la fuente (3 valores nulos).
  • Tipos de Datos:
    • Coordenadas (Latitud y Longitud): float64
    • Otras columnas: object

3. Estadísticas Descriptivas¶

  • Rango de Años:
    • La mayoría de los eventos ocurrieron entre 1575 y 2021.
  • Coordenadas:
    • Latitud y longitud dentro de rangos razonables.

4. Distribuciones¶

  • Por Tipo de Remoción:

    • Flujo: 1170 eventos
    • Deslizamiento: 1047 eventos
    • Caída: 498 eventos
  • Por Detonante:

    • Lluvias: 1196 eventos
    • Sin información: 737 eventos
    • Evento Sísmico: 376 eventos
  • Por Año:

    • Gran cantidad de eventos con año 0 (sin registro).

5. Visualización¶

  • Gráfico de barras que muestra la distribución de eventos por tipo de remoción en masa.

✅ Siguientes Pasos¶

1. Limpiar los Datos¶

  • Valores Faltantes:
    • Rellenar Autor de la fuente con "Desconocido".
  • Año 0:
    • Filtrar o investigar registros con año 0.
In [13]:
catastro_df['Autor de la fuente'].fillna('Desconocido', inplace=True)
C:\Users\rodag\AppData\Local\Temp\ipykernel_12992\3197328450.py:1: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.
The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.

For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.


  catastro_df['Autor de la fuente'].fillna('Desconocido', inplace=True)
In [14]:
print(catastro_df.isnull().sum())
OBJECTID                                 0
Código de la remoción en masa            0
Región                                   0
Tipo de remoción en masa                 0
Tipo de material                         0
Clasificación de remoción en masa        0
Detonante                                0
Día del evento                           0
Mes de inicio del evento                 0
Año del evento                           0
Estación de ocurrencia del evento        0
Método de obtención de la información    0
Fuente de la información                 0
Autor de la fuente                       0
Nota                                     0
Enlace de documento asociado             0
Latitud                                  0
Longitud                                 0
Precisión de coordenadas                 0
dtype: int64
In [15]:
catastro_df = catastro_df[catastro_df['Año del evento'] != 0]

2. Análisis Geoespacial¶

  • Visualizar los eventos en un mapa utilizando geopandas y matplotlib.
In [16]:
import geopandas as gpd
import matplotlib.pyplot as plt
from shapely.geometry import Point

# Crear geometrías a partir de las coordenadas de latitud y longitud
geometry = [Point(xy) for xy in zip(catastro_df['Longitud'], catastro_df['Latitud'])]
geo_df = gpd.GeoDataFrame(catastro_df, geometry=geometry)

# Graficar el mapa con los eventos
geo_df.plot(figsize=(10, 6), markersize=5, color='blue')
plt.title("Distribución Geoespacial de Eventos de Remoción en Masa")
plt.xlabel("Longitud")
plt.ylabel("Latitud")
plt.show()
No description has been provided for this image
In [17]:
%pip install folium
Requirement already satisfied: folium in c:\users\rodag\anaconda3\lib\site-packages (0.19.2)Note: you may need to restart the kernel to use updated packages.

Requirement already satisfied: branca>=0.6.0 in c:\users\rodag\anaconda3\lib\site-packages (from folium) (0.8.0)
Requirement already satisfied: jinja2>=2.9 in c:\users\rodag\anaconda3\lib\site-packages (from folium) (3.1.4)
Requirement already satisfied: numpy in c:\users\rodag\anaconda3\lib\site-packages (from folium) (1.26.4)
Requirement already satisfied: requests in c:\users\rodag\anaconda3\lib\site-packages (from folium) (2.32.2)
Requirement already satisfied: xyzservices in c:\users\rodag\anaconda3\lib\site-packages (from folium) (2022.9.0)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\rodag\anaconda3\lib\site-packages (from jinja2>=2.9->folium) (2.1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\rodag\anaconda3\lib\site-packages (from requests->folium) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\rodag\anaconda3\lib\site-packages (from requests->folium) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\rodag\anaconda3\lib\site-packages (from requests->folium) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\rodag\anaconda3\lib\site-packages (from requests->folium) (2024.8.30)
In [18]:
import folium
from folium.plugins import MarkerCluster

# Crear el mapa centrado en Chile
mapa = folium.Map(location=[-35.6751, -71.5430], zoom_start=5)

# Crear un clúster de marcadores para los eventos
marker_cluster = MarkerCluster().add_to(mapa)

# Agregar puntos al clúster
for idx, row in catastro_df.iterrows():
    folium.Marker(
        location=[row['Latitud'], row['Longitud']],
        popup=f"Tipo: {row['Tipo de remoción en masa']}<br>Detonante: {row['Detonante']}<br>Año: {row['Año del evento']}",
        icon=folium.Icon(color='blue', icon='info-sign')
    ).add_to(marker_cluster)

# Mostrar el mapa
mapa
Out[18]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [19]:
# Crear el mapa
mapa = folium.Map(location=[-35.6751, -71.5430], zoom_start=5)

# Colores según tipo de remoción
colores = {
    'Deslizamiento': 'red',
    'Flujo': 'blue',
    'Caída': 'green',
    'Deformaciones de ladera': 'orange',
    'Propagación': 'purple'
}

# Agregar marcadores con colores específicos
for idx, row in catastro_df.iterrows():
    tipo = row['Tipo de remoción en masa']
    color = colores.get(tipo, 'gray')
    folium.CircleMarker(
        location=[row['Latitud'], row['Longitud']],
        radius=5,
        color=color,
        fill=True,
        fill_opacity=0.7,
        popup=f"Tipo: {tipo}<br>Detonante: {row['Detonante']}<br>Año: {row['Año del evento']}"
    ).add_to(mapa)

# Mostrar el mapa
mapa
Out[19]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [20]:
from folium.plugins import HeatMap

# Crear el mapa
mapa_heatmap = folium.Map(location=[-35.6751, -71.5430], zoom_start=5)

# Crear una lista de coordenadas
coordenadas = list(zip(catastro_df['Latitud'], catastro_df['Longitud']))

# Agregar el HeatMap
HeatMap(coordenadas, radius=10, blur=15).add_to(mapa_heatmap)

# Mostrar el mapa
mapa_heatmap
Out[20]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [21]:
mapa.save("mapa_interactivo.html")
In [22]:
# Contar eventos por región
eventos_por_region = catastro_df['Región'].value_counts()

# Graficar
plt.figure(figsize=(12, 6))
eventos_por_region.plot(kind='bar', color='teal')
plt.title("Distribución de Eventos por Región")
plt.xlabel("Región")
plt.ylabel("Número de Eventos")
plt.xticks(rotation=45)
plt.show()
No description has been provided for this image

3. Integrar con Sentinel-2¶

  • Descargar imágenes satelitales para eventos clave.
  • Detectar cambios en la superficie utilizando NDVI o técnicas de detección de cambios.
In [23]:
from sentinelhub import SHConfig

config = SHConfig()
config.sh_client_id = 'b101d5fc-9363-46c7-b069-15ecfaed6b73'
config.sh_client_secret = 'CNXBeF1ZLLAsLoj4QlWta6giT2brnWRZ'

# Verificar la configuración
print("Client ID:", config.sh_client_id)
print("Client Secret:", config.sh_client_secret)
Client ID: b101d5fc-9363-46c7-b069-15ecfaed6b73
Client Secret: CNXBeF1ZLLAsLoj4QlWta6giT2brnWRZ
In [24]:
%pip install requests
Requirement already satisfied: requests in c:\users\rodag\anaconda3\lib\site-packages (2.32.2)Note: you may need to restart the kernel to use updated packages.

Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\rodag\anaconda3\lib\site-packages (from requests) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\rodag\anaconda3\lib\site-packages (from requests) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\rodag\anaconda3\lib\site-packages (from requests) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\rodag\anaconda3\lib\site-packages (from requests) (2024.8.30)
In [25]:
import requests

print(requests.__version__)
2.32.2
In [26]:
config.save()
In [27]:
from sentinelhub import SentinelHubRequest, DataCollection, MimeType, CRS, BBox

# Definir coordenadas del evento y período de interés
coords = BBox(bbox=[-71.17715259, -32.64314884, -71.17715259, -32.64314884], crs=CRS.WGS84)
time_interval = ('2020-03-01', '2020-03-31')

# Solicitud de imágenes de Sentinel-2
request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
        // Script para obtener una imagen RGB
        function setup() {
            return {
                input: ["B04", "B03", "B02"],
                output: { bands: 3 }
            };
        }
        function evaluatePixel(sample) {
            return [sample.B04, sample.B03, sample.B02];
        }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_interval
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=(512, 512)
)

# Ejecutar la solicitud
response = request.get_data()
In [28]:
print(type(response))
print(len(response))
print(response[0].shape if len(response) > 0 else "No hay datos en response")
<class 'list'>
1
(512, 512, 3)
In [29]:
buffer = 0.01  # Grados (~1 km)
coords = BBox(
    bbox=[-71.18 - buffer, -32.65 - buffer, -71.18 + buffer, -32.65 + buffer],
    crs=CRS.WGS84
)
print(f"Área definida: {coords}")
Área definida: -71.19000000000001,-32.66,-71.17,-32.64
C:\Users\rodag\AppData\Local\Temp\ipykernel_12992\1416089075.py:6: SHDeprecationWarning: The string representation of `BBox` will change to match its `repr` representation.
  print(f"Área definida: {coords}")
In [30]:
import sentinelhub
print(dir(sentinelhub))  # Confirma que 'BBox' y 'CRS' están disponibles
['AsyncProcessRequest', 'AwsDownloadFailedException', 'BBox', 'BBoxSplitter', 'Band', 'BatchCollection', 'BatchProcessClient', 'BatchProcessRequest', 'BatchRequest', 'BatchRequestStatus', 'BatchSplitter', 'BatchStatisticalRequest', 'BatchTileStatus', 'BatchUserAction', 'ByocCollection', 'ByocCollectionAdditionalData', 'ByocCollectionBand', 'ByocTile', 'CRS', 'CustomGridSplitter', 'CustomUrlParam', 'DataCollection', 'DownloadClient', 'DownloadFailedException', 'DownloadRequest', 'FisRequest', 'Geometry', 'GeopediaFeatureIterator', 'GeopediaImageRequest', 'GeopediaSession', 'GeopediaWmsRequest', 'HistogramType', 'MimeType', 'MosaickingOrder', 'OsmSplitter', 'ResamplingType', 'SHConfig', 'SHConstants', 'SentinelHubBYOC', 'SentinelHubBatch', 'SentinelHubBatchStatistical', 'SentinelHubCatalog', 'SentinelHubDownloadClient', 'SentinelHubRequest', 'SentinelHubSession', 'SentinelHubStatistical', 'SentinelHubStatisticalDownloadClient', 'ServiceType', 'ServiceUrl', 'TileSplitter', 'Unit', 'UtmGridSplitter', 'UtmZoneSplitter', 'WcsRequest', 'WebFeatureService', 'WmsRequest', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_version', 'api', 'areas', 'base', 'bbox_to_dimensions', 'bbox_to_resolution', 'config', 'constants', 'data_collections', 'data_collections_bands', 'decoding', 'download', 'evalscript', 'exceptions', 'filter_times', 'generate_evalscript', 'geo_utils', 'geometry', 'geopedia', 'get_area_dates', 'get_area_info', 'get_async_running_status', 'get_image_dimension', 'get_tile_info', 'get_tile_info_id', 'get_utm_bbox', 'get_utm_crs', 'io_utils', 'is_valid_time', 'monitor_batch_analysis', 'monitor_batch_job', 'monitor_batch_process_analysis', 'monitor_batch_process_job', 'monitor_batch_statistical_analysis', 'monitor_batch_statistical_job', 'opensearch', 'parse_data_collection_bands', 'parse_time', 'parse_time_interval', 'pixel_to_utm', 'read_data', 'serialize_time', 'time_utils', 'to_utm_bbox', 'to_wgs84', 'transform_point', 'types', 'utm_to_pixel', 'wgs84_to_pixel', 'wgs84_to_utm', 'write_data']
In [31]:
from sentinelhub import SentinelHubRequest, DataCollection, MimeType

# Cambia el rango de fechas a 2022
time_interval = ('2022-01-01', '2022-12-31')

# Crear la solicitud
request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
    function setup() {
        return {
            input: ["B04", "B03", "B02"],
            output: { bands: 3 }
        };
    }
    function evaluatePixel(sample) {
        return [sample.B04, sample.B03, sample.B02];
    }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_interval
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=(512, 512)
)

# Ejecutar la solicitud
response = request.get_data()

# Visualizar la imagen
import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(10, 10))
plt.imshow(np.array(response[0]))
plt.title("Imagen Sentinel-2 RGB - 2022")
plt.axis('off')
plt.show()
No description has been provided for this image
In [32]:
image = np.array(response[0])  # Convierte la primera respuesta en un array numpy
print(f"Forma de la imagen: {image.shape}")  # Confirma la dimensión
Forma de la imagen: (512, 512, 3)
In [38]:
# Combinar las bandas normalizadas en una imagen RGB
rgb_image = np.stack((red, green, blue), axis=-1)

# Visualizar la imagen
plt.figure(figsize=(10, 10))
plt.imshow(rgb_image)
plt.title("Imagen Sentinel-2 RGB Normalizada")
plt.axis('off')
plt.show()
No description has been provided for this image
In [39]:
# Ajustar el tamaño de la imagen para mejorar la resolución
size = (1024, 1024)  # Incrementar resolución (más píxeles)

request = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript="""
    function setup() {
        return {
            input: ["B04", "B03", "B02"],
            output: { bands: 3 }
        };
    }
    function evaluatePixel(sample) {
        return [sample.B04, sample.B03, sample.B02];
    }
    """,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=('2022-01-01', '2022-12-31')
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=size  # Mayor tamaño mejora la resolución
)
In [43]:
from sentinelhub import SentinelHubCatalog, DataCollection, bbox_to_dimensions
from datetime import datetime

# Inicializar el catálogo
catalog = SentinelHubCatalog()

# Definir las fechas
time_before = ('2021-01-01', '2021-12-31')  # Antes del evento
time_after = ('2022-01-01', '2022-12-31')   # Después del evento

# Buscar imágenes antes del evento
search_before = catalog.search(
    DataCollection.SENTINEL2_L2A,
    bbox=coords,
    time=time_before
)
results_before = list(search_before)
print(f"Imágenes encontradas antes del evento: {len(results_before)}")

# Buscar imágenes después del evento
search_after = catalog.search(
    DataCollection.SENTINEL2_L2A,
    bbox=coords,
    time=time_after
)
results_after = list(search_after)
print(f"Imágenes encontradas después del evento: {len(results_after)}")
Imágenes encontradas antes del evento: 72
Imágenes encontradas después del evento: 74
In [47]:
from sentinelhub import SentinelHubRequest, DataCollection, MimeType, BBox, CRS

# Paso 1: Definir el área de interés
buffer = 0.01  # Grados (~1 km)
coords = BBox(
    bbox=[-71.18 - buffer, -32.65 - buffer, -71.18 + buffer, -32.65 + buffer],
    crs=CRS.WGS84
)

# Paso 2: Definir el evalscript como variable
evalscript = """
function setup() {
    return {
        input: ["B04", "B03", "B02"],
        output: { bands: 3 }
    };
}
function evaluatePixel(sample) {
    return [sample.B04, sample.B03, sample.B02];
}
"""

# Paso 3: Crear solicitudes para antes y después del evento
size = (1024, 1024)  # Resolución de la imagen

# Fechas ajustadas
time_before = ('2021-01-15', '2021-01-20')  # Antes del evento
time_after = ('2022-02-15', '2022-02-20')   # Después del evento

# Solicitud antes del evento
request_before = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript=evalscript,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_before
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=size
)

# Solicitud después del evento
request_after = SentinelHubRequest(
    data_folder='sentinel_images',
    evalscript=evalscript,
    input_data=[
        SentinelHubRequest.input_data(
            data_collection=DataCollection.SENTINEL2_L2A,
            time_interval=time_after
        )
    ],
    responses=[
        SentinelHubRequest.output_response('default', MimeType.PNG)
    ],
    bbox=coords,
    size=size
)

# Paso 4: Descargar las imágenes
response_before = request_before.get_data()
response_after = request_after.get_data()

# Paso 5: Normalizar y visualizar
import matplotlib.pyplot as plt
import numpy as np

def normalize_band(band):
    return ((band - band.min()) / (band.max() - band.min() + 1e-6) * 255).astype('uint8')

def visualize_images(image_before, image_after):
    # Normalizar las bandas
    rgb_before = np.stack([normalize_band(image_before[:, :, i]) for i in range(3)], axis=-1)
    rgb_after = np.stack([normalize_band(image_after[:, :, i]) for i in range(3)], axis=-1)
    
    # Mostrar las imágenes
    fig, axes = plt.subplots(1, 2, figsize=(15, 8))
    axes[0].imshow(rgb_before)
    axes[0].set_title("Antes del Evento")
    axes[0].axis('off')

    axes[1].imshow(rgb_after)
    axes[1].set_title("Después del Evento")
    axes[1].axis('off')

    plt.tight_layout()
    plt.show()

# Convertir las respuestas en arrays y visualizar
image_before = np.array(response_before[0])
image_after = np.array(response_after[0])

visualize_images(image_before, image_after)
No description has been provided for this image

Calculo la diferencia entre las imagenes¶

In [48]:
# Calcular la diferencia entre las imágenes
diff_image = np.abs(image_after.astype('float32') - image_before.astype('float32'))

# Normalizar la diferencia para visualización
def normalize_band(band):
    return ((band - band.min()) / (band.max() - band.min() + 1e-6) * 255).astype('uint8')

diff_image_normalized = np.stack([normalize_band(diff_image[:, :, i]) for i in range(3)], axis=-1)

# Mostrar la diferencia
plt.figure(figsize=(10, 10))
plt.imshow(diff_image_normalized)
plt.title("Diferencia entre Antes y Después del Evento")
plt.axis('off')
plt.show()
No description has been provided for this image